OpenSSL 給本身頒發根證書,由根證書籤發下級證書的步驟。

1.創建根證書php

(1)生成私鑰java

openssl genrsa -des3 -out CAroot.key 2048。產生一個2048位的私鑰,在安裝的openssl目錄下調用openssl命令。node

須要輸入私鑰保護口令。c++

產生CAroot.key文件。瀏覽器

(2)生成證書請求tomcat

openssl req -new  -key CAroot.key -out  rootca.csr -config D:\OpensslInstall\openssl.cnf函數

須要輸入CAroot.key私鑰保護口令。編碼

根據提示輸入:國家、省份、組織名、郵箱、等信息。加密

最後生成rootca.csr證書請求文件。.net

(本人將編譯安裝過程當中產生的openssl.cnf文件拷貝到D:\OpensslInstall\目錄下)

(3)簽發證書

openssl req -x509 -days 666 -key rootca.key -in rootca.csr -out CARoot.crt -config D:\OpensslInstall\openssl.cnf

最後生成自簽名的根證書 CARoot.crt.。

下面將介紹以CARoot.crt爲根證書籤發下級證書的過程。

(1)openssl genrsa -des3 -out myprivate.key 1024

生成本身的私鑰。

(2)生成證書請求文件

openssl  req -new -key  myprivate.key  -out MyCaReq.csr -config  D:\OpensslInstall\openssl.cnf

(3)根證書籤發下級證書

openssl x509 -req -in MyCaReq.csr  -out MyCa.crt   -signkey myprivate.key  -CA CARoot.crt -CAkey rootca.key 

-CAcreateserial  -days 990

簽發的證書製做完成。

 

OpenSSL 1.0.0生成p十二、jks、crt等格式證書的命令個過程
 
今生成的證書可用於瀏覽器、Java、tomcat、c++等。在此備忘!
 
 
1.建立根證私鑰
命令:
openssl genrsa -out root-key.key 1024
 
2.建立根證書請求文件
 命令:
openssl req -new -out root-req.csr -key root-key.key -keyform PEM

3.自籤根證書
命令:
 openssl x509 -req -in root-req.csr -out root-cert.cer -signkey root-key.key -CAcreateserial -days 3650
 
4.導出p12格式根證書
命令:
openssl pkcs12 -export -clcerts -in root-cert.cer -inkey root-key.key -out root.p12

5.生成root.jks文件
keytool -import -v -trustcacerts -storepass 123456 -alias root -file root-cert.cer -keystore
root.jks

生成客戶端文件:
1.生成客戶端key
openssl genrsa -out client-key.key 1024
2.生成客戶端請求文件
openssl req -new -out client-req.csr -key client-key.key
3.生成客戶端證書(root證書,rootkey,客戶端key,客戶端請求文件這4個生成客戶端證書)
openssl x509 -req -in client-req.csr -out client-cert.cer -signkey client-key.key -CA root-cert.cer
-CAkey root-key.key -CAcreateserial -days 3650
4.生成客戶端p12格式根證書
openssl pkcs12 -export -clcerts -in client-cert.cer -inkey client-key.key -out client.p12
 
客戶端jks:
 keytool -import -v -trustcacerts -storepass 123456 -alias client -file client-cert.cer -keystore
client.jks
 
生成服務端文件:
1.生成服務端key
openssl genrsa -out server-key.key 1024
2.生成服務端請求文件
openssl req -new -out server-req.csr -key server-key.key
3.生成服務端證書(root證書,rootkey,客戶端key,客戶端請求文件這4個生成客戶端證書)
openssl x509 -req -in server-req.csr -out server-cert.cer -signkey server-key.key -CA root-cert.cer
-CAkey root-key.key -CAcreateserial -days 3650
4.生成服務端p12格式根證書
openssl pkcs12 -export -clcerts -in server-cert.cer -inkey server-key.key -out server.p12
服務端JKS
 keytool -import -v -trustcacerts -storepass 123456 -alias server -file server-cert.cer -keystore
server.jks

無密碼key命令:
openssl rsa -in client-key.key -out client-key.key.unsecure

 

 

以上產生的Base64編碼方式,PEM、cer,crt

DER編碼方式也是有DER .Cer, crt後綴。

 

PEM--DER/CER(BASE64--DER編碼的轉換)

       openssl x509 -outform der -in certificate.pem -out certificate.der

PEM--P7B(PEM--PKCS#7)

       openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

PEM--PFX(PEM--PKCS#12)

       openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

PEM--p12(PEM--PKCS#12)

       openssl pkcs12 -export -out Cert.p12 -in Cert.pem -inkey key.pem

CER/DER--PEM(編碼DER--BASE64)

       openssl x509 -inform der -in certificate.cer -out certificate.pem

P7B--PEM(PKCS#7--PEM)

       openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

P7B--PFX(PKCS#7--PKCS#12)

       openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
       openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer

PFX/p12--PEM(PKCS#12--PEM)

       openssl pkcs12 -in certificate.pfx -out certificate.cer
       如無需加密pem中私鑰,能夠添加選項-nodes;
       如無需導出私鑰,能夠添加選項-nokeys; 

PEM BASE64--X.509文本格式

       openssl x509 -in Key.pem -text -out Cert.pem

PFX文件中提取私鑰(.key)

       openssl pkcs12 -in mycert.pfx -nocerts -nodes -out mycert.key

PEM--SPC

       openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc

PEM--PVK(openssl 1.x開始支持)

       openssl rsa -in mycert.pem -outform PVK -pvk-strong -out mypvk.pvk

PEM--PVK(對於openssl 1.x以前的版本,能夠下載pvk轉換器後經過如下命令完成)

       pvk -in ca.key -out ca.pvk -nocrypt -topvk

 d2i_X509_AUX或者函數d2i_X509()將DER編碼大的證書轉化爲OpenSSL中的X509結構,便於、、讀寫操做、、

相關文章
相關標籤/搜索