Centos生成SSL證書的步驟


1、yum install openssl安裝openssl組件
2、生成KEY的流程步驟如下

 1. 創建根證書密鑰文件(自己做CA)root.key
 openssl genrsa -out root.key

輸出內容為:

[lenin@archer ~]$ openssl genrsa -des3 -out root.key 
Generating RSA private key, 512 bit long modulus 
……………..++++++++++++ 
..++++++++++++ 
e is 65537 (0×10001) 

2. 創建根證書的申請文件root.csr

openssl req -new -key root.key -out root.csr

輸出內容為:

[lenin@archer ~]$ openssl req -new -key root.key -out root.csr 
You are about to be asked to enter information that will be incorporated 
into your certificate request. 
What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank 
For some fields there will be a default value, 
If you enter ‘.’, the field will be left blank. 
—– 
Country Name (2 letter code) [AU]:CN ← 國家代號,中國輸入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不輸入 
Common Name (eg, YOUR name) []: ← 此時不輸入 
Email Address []:admin@mycompany.com ← 電子郵箱,可隨意填

Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不輸入 

          An optional company name []: ← 可以不輸入 

 3. 創建一個自當前日期起為期十年的根證書root.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

輸出內容為:
[lenin@archer ~]$ openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt  

Getting Private key 
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./emailAddress=admin@mycompany.com 
Signature ok 

4. 創建服務器證書密鑰server.key

openssl genrsa -out server.key 2048

輸出內容為:

[lenin@archer ~]$ openssl genrsa -out server.key 2048 
Generating RSA private key, 2048 bit long modulus 
….+++ 
…………………………………………..+++ 
e is 65537 (0×10001)

去除key文件口令的命令: openssl rsa -in server.key -out server.key
運行時會提示輸入密碼,此密碼用於加密key文件(參數des3便是指加密算法,當然也可以選用其他你認為安全的算法.),以后每當需讀取此文件(通過openssl提供的命令或API)都需輸入口令.如果覺得不方便,也可以去除這個口令,但一定要采取其他的保護措施! 

 5.創建服務器證書的申請文件server.csr

openssl req -new -key server.key -out server.csr

輸出內容為:

[lenin@archer ~]$ openssl req -new -key server.key -out server.req 
You are about to be asked to enter information that will be incorporated 
into your certificate request. 
What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank 
For some fields there will be a default value, 
If you enter ‘.’, the field will be left blank. 
—– 
Country Name (2 letter code) [AU]:CN ← 國家名稱,中國輸入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省名,拼音 
Locality Name (eg, city) []:BeiJing ← 市名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不輸入 
Common Name (eg, YOUR name) []:www.mycompany.com ← 服務器主機名,若填寫不正確,瀏覽器會報告證書無效,但並不影響使用 
Email Address []:admin@mycompany.com ← 電子郵箱,可隨便填

An optional company name []: ← 可以不輸入
A challenge password []: ← 可以不輸入 
to be sent with your certificate request 
Please enter the following ‘extra’ attributes 

6. 創建自當前日期起有效期為期十年的服務器證書server.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt

輸出內容為:
[lenin@archer ~]$ openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt

Getting CA Private Key 

subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com 
Signature ok 

 

7. 創建客戶端證書密鑰文件client.key

openssl genrsa -out client.key 2048

輸出內容為:

[lenin@archer ~]$ openssl genrsa -out client.key 2048 

e is 65537 (0×10001) 
……………………………………………………………………………………………………….+++ 
……………………………………………………………………………..+++ 
Generating RSA private key, 2048 bit long modulus 

8. 創建客戶端證書的申請文件client.csr

openssl req -new -key client.key -out client.csr

輸出內容為:

[lenin@archer ~]$ openssl req -new -key client.key -out client.csr 
Enter pass phrase for client.key: ← 輸入上一步中創建的密碼 
You are about to be asked to enter information that will be incorporated 
into your certificate request. 
What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank 
For some fields there will be a default value, 
If you enter ‘.’, the field will be left blank. 
—– 
Country Name (2 letter code) [AU]:CN ← 國家名稱,中國輸入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省名稱,拼音 
Locality Name (eg, city) []:BeiJing ← 市名稱,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不填 
Common Name (eg, YOUR name) []:Lenin ← 自己的英文名,可以隨便填 
Email Address []:admin@mycompany.com ← 電子郵箱,可以隨便填

 
An optional company name []: ← 可以不填
A challenge password []: ← 可以不填 
to be sent with your certificate request 

Please enter the following ‘extra’ attributes

9. 創建一個自當前日期起有效期為十年的客戶端證書client.crt

openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in client.csr -out client.crt

輸出內容為:

[lenin@archer ~]$ openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in client.csr -out client.crt 
Signature ok 
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www.mycompany.com/emailAddress=admin@mycompany.com 
Getting CA Private Key 

10. 將客戶端證書文件client.crt和客戶端證書密鑰文件client.key合並成客戶端證書安裝包client.pfx

openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

輸出內容為:

[lenin@archer ~]$ openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx 
Enter Export Password: ← 輸入一個新的密碼,用作客戶端證書的保護密碼,在客戶端安裝證書時需要輸入此密碼 
Verifying – Enter Export Password: ← 確認密碼,可以為空密碼

11. 保存生成的文件備用,其中server.crtserver.key是配置單向SSL時需要使用的證書文件,client.crt是配置雙向SSL時需要使用的證書文件,client.pfx是配置雙向SSL時需要客戶端安裝的證書文件

     .crt文件和.key可以合到一個文件里面,把2個文件合成了一個.pem文件(直接拷貝過去就行了)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM