如何生成csr檔案

hdgara1發表於2020-07-02

如何生成csr檔案

CSR,Certificate Signing Request,是製作SSL 證照的必要步驟。一個 CSR 檔案中描述了 SSL 證照持有人的資訊(如個人姓名或公司名稱)、聯絡地址等,用於驗證 SSL 證照和域名是同一個人持有,以確保網站的合法性。

在申請數字證照之前,您必須先生成證照私鑰和證照請求檔案(CSR,Cerificate Signing Request),CSR是您的公鑰證照原始檔案,包含了您的伺服器資訊和您的單位資訊,需要提交給CA認證中心。在生成CSR檔案時會同時生成私鑰檔案,請妥善保管和備份您的私鑰。
生成CSR檔案時,一般需要輸入以下資訊(中文需要UTF8編碼):
Organization Name(O):申請單位名稱法定名稱,可以是中文或英文
Organization Unit(OU):申請單位的所在部門,可以是中文或英文
Country Code(C):申請單位所屬國家,只能是兩個字母的國家碼,如中國只能是:CN
State or Province(S):申請單位所在省名或州名,可以是中文或英文
Locality(L):申請單位所在城市名,可以是中文或英文
Common Name(CN):申請 的具體網站域名
一. 使用OpenSSL工具生成CSR檔案:
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr

-new 指定生成一個新的CSR,nodes指定私鑰檔案不被加密, sha256 指定摘要演算法,keyout生成私鑰, newkey rsa:2048 指定私鑰型別和長度,最終生成CSR檔案mydomain.csr。
需要輸入的資訊說明如下:

欄位 說明 示例
Country Name ISO國家程式碼(兩位字元) CN
State or Province Name 所在省份 ZheJiang
Locality Name 所在城市 HangZhou
Organization Name 公司名稱 HangZhou xxx Technologies, Inc.
Organizational Unit Name 部門名稱 IT Dept.
Common Name 申請證照的域名
Email Address 不需要輸入
A challenge password 不需要輸入

完成命令提示的輸入後,會在當前目錄下生成myprivate.key(私鑰檔案)和mydomain.csr(CSR,證照請求檔案)兩個檔案。

在使用openssl工具生成中文證照時需要注意中文編碼格式,使用utf8編碼,同時需要編譯openssl工具時指定支援utf8格式。

如果對中文有需求,推薦您使用keytool工具。

  1. 使用keytool工具生成CSR檔案:
  • 1 先生成證照檔案keystore, 證照檔案中包含金鑰, 匯出金鑰方式請參考  主流數字證照都有哪些格式?

keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks

keyalg是金鑰型別,必須是RSA, keysize是金鑰長度為2048, alias 是證照別名可自定義, keystore是證照檔案儲存路徑。

首先輸入證照保護密碼,然後依次輸入:

問題 說明 示例
What is your first and last name? 申請證照的域名
What is the name of your organizational unit? 部門名稱 IT Dept.
What is the name of your organization? 公司名稱 HangZhou xxx Technologies,Ltd.
What is the name of your City or Locality? 所在城市 HangZhou
What is the name of your State or Province? 所在省份 ZheJiang
What is the two-letter country code for this unit? ISO國家程式碼(兩位字元) CN

輸入完成後,確認輸入內容是否正確:[no]: Y (輸入Y)

而後提示輸入金鑰密碼,可以與證照密碼一致,如果一致則直接按回車。

  • 2 透過證照檔案生成證照請求:

keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr

sigalg是摘要演算法,使用SHA256withRSA, alias 是別名,必須與2.1步中的別名一致,keystore是證照檔案,file是證照請求檔案(CSR),而後提示輸入證照密碼即可以生成mydomain.csr。

需要注意的是:我們對CSR的金鑰長度有嚴格要求,要求是2048位,金鑰型別必須為RSA。如果申請證照是多域名或者通配子域名,在“Common Name”或”What is your first and last name?” 欄位只需要輸入一個域名即可(通配子域名可以輸入“*.example.com”等)。

二、 Apache 生成證照請求檔案(CSR檔案)

(1)方法一( 透過工具)

該方法非常簡單,透過我們【數字證照工具–>線上生成CSR工具】進行CSR產生:
1、輸入相關引數       

2、點選“生成CSR”按鈕,如果上述引數OK,出現如下轉換結果,然後複製或下載對應的CSR檔案(certreq.csr)和Key檔案(mykey.key)

(如果上述”郵箱”引數填寫了,那麼伺服器自動把產生的CSR檔案和對應的Key檔案傳送到您的郵箱)

3、備份私鑰並提交證照請求(CSR)

將生成的certreq.csr檔案傳送給易維信(EVTrust)support@evtrust.com郵箱,備份mykey.key檔案,等待證照的簽發。
(注意:在您收到證照籤發郵件並部署好SSL之前,請不要刪除mykey.key檔案,以避免私鑰丟失而導致證照無法安裝。)

(二)方法二 透過命令列

該方法基於命令列方式實現,透過openssl工具進行產生:

(示例中 粗體部分為可自定義部分,可根據實際配置情況相應修改)
1、安裝openssl

openssl安裝包下載,請參考openssl官方網站:;或其他提供下載的網站。

2、生成私鑰

openssl genrsa -out D:\  mykey.key 2048

#執行openssl命令,生成2048位長的私鑰mykey.key檔案。如果您需要對 mykey.key 新增保護密碼,請使用 -des3 擴充套件命令。Windows環境下不支援加密格式私鑰, Linux環境下使用加密格式私鑰時,每次重啟Apache都需要您輸入該私鑰密碼(例:openssl genrsa -des3 -out mykey.key 2048)。

3、生成證照請求檔案(CSR)

openssl req -new -subj “/ CN=”IT Dept”/O=”Shenzhen EVTrust Co.,Ltd.”/L=Shenzhen/ST=Guangdong/C=CN” -key  D:\mykey.key -out  D:\certreq.csr

openssl req -new -key  D:\mykey.key -out  D:\certreq.csr #輸入命令後,出車
–>Country Name: #您所在國家的ISO標準代號,中國為CN
–>State or Province Name: //您單位所在地省/自治區/直轄市,比如:Guangdong
–>Locality Name: //您單位所在地的市/縣/區 ,比如:Shenzhen
–>Organization Name: //您單位/機構/企業合法的名稱 ,比如:Shenzhen EVTrust Co.,Ltd.
–>Organizational Unit Name: //部門名稱 ,比如:IT Dept
–>Common Name: //通用名,比如: ; 此項必須與您訪問提供SSL服務的伺服器時所應用的域名完全匹配。
–>Email Address: //您的郵件地址,不必輸入,直接回車跳過
–>”extra”attributes //以下資訊不必輸入,回車跳過直到命令執行完畢。

 

4、備份私鑰並提交證照請求(CSR)

將生成的certreq.csr檔案傳送給易維信(EVTrust)support@evtrust.com郵箱,備份mykey.key檔案,等待證照的簽發。
(注意:在您收到證照籤發郵件並部署好SSL之前,請不要刪除mykey.key檔案,以避免私鑰丟失而導

全球可信CA機構

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31483669/viewspace-2701841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章