第一步:先建立一個 CA 的認證,
首先為 CA 建立一個 RSA 私用密鑰,
#cd /etc/pki/CA
#openssl genrsa -des3 -out ca.key 1024
(由於windows系統下的ssl_module不支援加密金鑰,使用openssl genrsa -out ca.key 1024)
系統提示輸入 PEM pass phrase,也就是密碼,輸入後牢記它。
產生 ca.key 檔案,將檔案屬性改為400。
#chmod 400 ca.key
你可以用下列命令查看它的內容,
#openssl rsa -noout -text -in ca.key
利用 CA 的 RSA 密鑰建立一個自簽署的 CA 憑證(X.509結構)
#openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
然後需要輸入下列資訊:
Country Name: CN //兩個字母的國家代號
State or Province Name: Guangdong //省份名稱
Locality Name: Guangzhou //城市名稱
Organization Name: //公司名稱
Organizational Unit Name: //部門名稱
Common Name: //你的姓名
Email Address: //Email地址
產生 ca.crt 檔案,將檔案屬性改為400。
#chmod 400 ca.crt
你可以用下列命令查看它的內容,
#openssl x509 -noout -text -in ca.crt
第二步:下面要建立伺服器憑證簽署請求,
#openssl genrsa -des3 -out server.key 1024
(同上windows下使用openssl genrsa -out server.key 1024)
這裡也要設定pass phrase。
產生 server.key 檔案,將檔案屬性改為400。
#chmod 400 server.key
你可以用下列命令查看它的內容,
#openssl rsa -noout -text -inserver.key
用 server.key 產生認證簽署請求 CSR.
#openssl req -new -key server.key-out server.csr
這裡也要輸入一些資訊,和CA中的內容類別似。
至於 'extra' attributes 不用輸入。
“Common Name: Chen Yang 你的姓名”這條資訊請你輸入你的伺服器的網域名稱或者IP地址
你可以查看 CSR 的細節
#openssl req -noout -text -inserver.csr
第三步:下面可以簽署認證了
#openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
注意需要手動建立一個CA目錄結構
└─ etc
└─ pki
└─CA
├─newcerts
├─index.txt
├─serial
在CA中建立 index.txt 空檔案, serial檔案 , serial檔案中可輸入01
否則運行這個命令會出錯:I am unable to access the ./CA/newcerts directory....
將檔案屬性改為400,並放在安全的地方。
#chmod 400 server.crt
第四步:產生用戶端認證
產生客戶私密金鑰:
#openssl genrsa -des3 -out client.key 1024
產生客戶認證
#openssl req -new -key client.key -out client.csr
簽證:
##openssl ca -config /etc/pki/tls/openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in client.csr -out client.crt
轉換成pkcs12格式,為用戶端安裝所用
#openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx