1.首先要生成服務器端的私鑰(key文件):
openssl genrsa -des3 -out server.key 1024服務器
2.去除key文件口令的命令:
openssl rsa -in server.key -out server.keyserver
3.生成服務端證書
openssl req -new -key server.key -out server.csr -config /etc/ssl/openssl.cnfssl
4.對客戶端也做一樣的命令生成key及csr文件:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config /etc/ssl/openssl.cnfopenssl
5.CSR文件必須有CA的簽名纔可造成證書.可將此文件發送到verisign等地方由它驗證,要交一大筆錢,何不本身作CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config /etc/ssl/openssl.cnfcli
6.mkdir demoCA && cd demoCA && mkdir newcerts && touch index.txt && echo "01" > serial && cd ..服務器端
7.用本身生成的CA證書籤名
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/ssl/openssl.cnf
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config /etc/ssl/openssl.cnfdate
8.問題openssl TXT_DB error number 2
failed to update database
方法一:修改demoCA下 index.txt.attr
unique_subject = yes 裏面的yes改成no
方法二:刪除demoCA下的index.txt,並再touch下
方法三:將 common name設置成不一樣的file
9.openssl.cnf的路徑必定要寫對rsa
10.如今咱們所需的所有文件便生成了.
另:
client使用的文件有:ca.crt,client.crt,client.key
server使用的文件有:ca.crt,server.crt,server.key方法