在申請數(shù)字證書之前,,您必須先生成證書私鑰和證書請求文件(CSR,Cerificate Signing Request),CSR是您的公鑰證書原始文件,包含了您的服務(wù)器信息和您的單位信息,,需要提交給CA認(rèn)證中心,。在生成CSR文件時會同時生成私鑰文件,請妥善保管和備份您的私鑰,。
生成CSR文件時,,一般需要輸入以下信息(中文需要UTF8編碼):
Organization Name(O):申請單位名稱法定名稱,可以是中文或英文
Organization Unit(OU):申請單位的所在部門,,可以是中文或英文
Country Code(C):申請單位所屬國家,,只能是兩個字母的國家碼,如中國只能是:CN
State or Province(S):申請單位所在省名或州名,,可以是中文或英文
Locality(L):申請單位所在城市名,可以是中文或英文
Common Name(CN):申請SSL證書的具體網(wǎng)站域名
1. 使用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 | 申請證書的域名 | www.example.com |
Email Address | 不需要輸入 | |
A challenge password | 不需要輸入 |
完成命令提示的輸入后,,會在當(dāng)前目錄下生成myprivate.key(私鑰文件)和mydomain.csr(CSR,證書請求文件)兩個文件,。
在使用openssl工具生成中文證書時需要注意中文編碼格式,,使用utf8編碼,同時需要編譯openssl工具時指定支持utf8格式,。
如果對中文有需求,,推薦您使用keytool工具。
2. 使用keytool工具生成CSR文件:
- 2.1 先生成證書文件keystore, 證書文件中包含密鑰, 導(dǎo)出密鑰方式請參考 主流數(shù)字證書都有哪些格式,?
keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks
keyalg是密鑰類型,必須是RSA, keysize是密鑰長度為2048, alias 是證書別名可自定義, keystore是證書文件保存路徑,。
首先輸入證書保護(hù)密碼,然后依次輸入:
問題 | 說明 | 示例 |
---|---|---|
What is your first and last name? | 申請證書的域名 | www.example.com |
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 |
輸入完成后,,確認(rèn)輸入內(nèi)容是否正確:[no]: Y (輸入Y)
而后提示輸入密鑰密碼,可以與證書密碼一致,如果一致則直接按回車,。
- 2.2 通過證書文件生成證書請求:
keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr
sigalg是摘要算法,使用SHA256withRSA, alias 是別名,,必須與2.1步中的別名一致,,keystore是證書文件,file是證書請求文件(CSR),,而后提示輸入證書密碼即可以生成mydomain.csr,。
需要注意的是:我們對CSR的密鑰長度有嚴(yán)格要求,,要求是2048位,密鑰類型必須為RSA,。如果申請證書是多域名或者通配子域名,,在“Common Name”或”What is your first and last name?” 字段只需要輸入一個域名即可(通配子域名可以輸入“*.example.com”等)。