上一節介紹了OpenSSL的目錄結構,本節介紹一下SSL證書的製做。服務器
OpenSSL安裝後建議把其中的bin目錄添加到系統環境變量中,方便之後操做。spa
創建一個新的目錄SSL專門用來製做證書。3d
創建證書目錄server
咱們使用默認配置openssl.cfg,那麼就要創建配置中要求的目錄demoCA,使用腳本CA.plblog
CA.pl -newcassl
把OpenSSL安裝目錄下的serial文件拷貝到demoCA目錄下便可。openssl
咱們不使用demoCA提供的根證書,本身製做根證書,建立根證書的密鑰文件pmroot.keyio
ps: 必須輸入密鑰class
openssl genrsa -des3 -out pmroot.key變量
建立根證書的申請文件pmroot.csr
openssl req -new -key pmroot.key -out pmroot.csr
建立一個爲期十年的根證書pmroot.crt
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey pmroot.key -in pmroot.csr -out pmroot.crt
生成服務器端密鑰文件pmserver.key
openssl genrsa -des3 -out pmserver.key
生成服務器端證書申請文件pmserver.csr
openssl req -new -key pmserver.key -out pmserver.csr
若須要客戶端證書,安裝上述證書操做分別生成pmclient.key和pmclient.csr便可。
生成的csr文件必須有CA的簽名纔可造成證書,用前面生成的CA證書爲pmserver.csr,pmclient.csr文件簽名:
openssl ca -days 3650 -in pmserver.csr -out pmserver.crt -cert pmroot.crt -keyfile pmroot.key
openssl ca -days 3650 -in pmclient.csr -out pmclient.crt -cert pmroot.crt -keyfile pmroot.key
這樣咱們須要的所有文件便生成了。
另:client使用的文件有:pmroot.crt,pmclient.crt,pmclient.key
server使用的文件有:pmroot.crt,pmserver.crt,pmserver.key
crt文件和key文件能夠合到一個pfx文件裏。
合併命令:openssl pkcs12 -export -in pmserver.crt -inkey pmserver.key -out pmserver.pfx