自簽CA憑證
#生成根證書私鑰(pem檔案)
openssl genrsa -out cakey.pem 2048
#生成根證書簽發申請檔案(csr檔案)
openssl req -new -key cakey.pem -out ca.csr -subj "/C=CN/ST=myprovince/L=mycity/O=myorganization/OU=mygroup/CN=myCA"
#自簽發根證書(cer檔案)
openssl x509 -req -days 365 -sha1 -extensions v3_ca -signkey cakey.pem -in ca.csr -out cacert.pem
服務端私鑰和證書
#生成服務端私鑰
openssl genrsa -out key.pem 2048
#生成證書請求檔案
openssl req -new -key key.pem -out server.csr -subj "/C=CN/ST=myprovince/L=mycity/O=myorganization/OU=mygroup/CN=myServer"
#使用根證書簽發服務端證書
openssl x509 -req -days 365 -sha1 -extensions v3_req -CA ../CA/cacert.pem -CAkey ../CA/cakey.pem -CAserial ca.srl -CAcreateserial -in server.csr -out cert.pem
#使用CA憑證驗證server端證書
openssl verify -CAfile ../CA/cacert.pem cert.pem
#生成用戶端私鑰
openssl genrsa -out key.pem 2048
#生成證書請求檔案
openssl req -new -key key.pem -out client.csr -subj "/C=CN/ST=myprovince/L=mycity/O=myorganization/OU=mygroup/CN=myClient"
#使用根證書簽發用戶端證書
openssl x509 -req -days 365 -sha1 -extensions v3_req -CA ../CA/cacert.pem -CAkey ../CA/cakey.pem -CAserial ../server-cert/ca.srl -in client.csr -out cert.pem
#使用CA憑證驗證用戶端證書
openssl verify -CAfile ../CA/cacert.pem cert.pem