用openssl.exe 來生成證書


要做一個帶https RESTserver 就一定要通過 openssl.exe 來生成證書

openssl語句


set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg

 

x509證書一般會用到三類文件,key,csr,crt。
Key 是私用密鑰,openssl格式,通常是rsa算法。
csr是證書請求文件,用於申請證書。在制作csr文件的時候,必須使用自己的私鑰來簽署申請,還可以設定一個密鑰。
crt是CA認證后的證書文件(windows下面的csr,其實是crt),簽署人用自己的key給你簽署的憑證

*.key:密鑰文件,一般是SSL中的私鑰;
*.csr:證書請求文件,里面包含公鑰和其他信息,通過簽名后就可以生成證書;
*.crt, *.cert:證書文件,包含公鑰,簽名和其他需要認證的信息,比如主機名稱(IP)等。
*.pem:里面一般包含私鑰和證書的信息。

###生成key

openssl genrsa -des3 -out server.key 2048
//也可以取消上面要求輸入的密碼
openssl rsa -in server.key -out server.key
###生成csr

openssl req -new -key server.key -out server.csr
需要輸入國家,地區,組織,email等信息
最重要的是,有一個common name,可以寫你的名字或者域名。如果為了https申請,這個必須和域名吻合,否則會引發瀏覽器警報。
生成的csr文件交給CA簽名后形成服務端自己的證書crt
###自己充當CA角色生成crt

####首先需要生成CA角色需要的ca.crt

openssl req -new -x509 -key server.key -out ca.crt -days 3650
####利用上面的ca.crt簽名

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

openssl req -new -x509 -key server.key -out server.pem -days 3650

 


CSR文件必須有CA的簽名才可形成證書.可將此文件發送到verisign等地方由它驗證,要交一大筆錢,何不自己做CA呢.
-CA選項指明用於被簽名的csr證書
-CAkey選項指明用於簽名的密鑰
-CAserial指明序列號文件,而-CAcreateserial指明文件不存在時自動生成


免責聲明!

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



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