OpenSSL 是一個安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。node
語法格式:算法
openssl command [ command_opts ] [ command_args ]數據庫
經常使用command:瀏覽器
version 用於查看版本信息安全
enc 用於加解密服務器
ciphers 列出加密套件函數
genrsa 用於生成私鑰工具
rsa RSA密鑰管理(例如:從私鑰中提取公鑰)測試
req 生成證書籤名請求(CSR)網站
crl 證書吊銷列表(CRL)管理
ca CA管理(例如對證書進行簽名)
dgst 生成信息摘要
rsautl 用於完成RSA簽名、驗證、加密和解密功能
passwd 生成散列密碼
rand 生成僞隨機數
speed 用於測試加解密速度
s_client 通用的SSL/TLS客戶端測試工具
X509 X.509證書管理
verify X.509證書驗證
pkcs7 PKCS#7協議數據管理
(1)客戶證書密鑰構建(默認爲私鑰密鑰):採用openssl的desc3加密算法來建立RSA密鑰,其中生成的des3密鑰長度爲1024
# genrsa -des3 -out private_test.key 1024
(2)生成證書請求,經過私鑰和配置文件生成公鑰,公鑰有效期爲10年(3650爲天數)
# req -new -x509 -key private_test.key -days 3650 -out public_test.crt -config D:\software\openssl\openssl\openssl.cnf
(3)格式轉換:轉換成一個格式編碼爲pkcs12的私鑰
# pkcs12 -export -name epayment2017 -in public_test.crt -inkey private_test.key -out private_test.pfx
(4)從已生成的商戶證書中提取公鑰串
# x509 -outform PEM -in public_test.crt -pubkey -out server.pubkey
(1)生成rsa原始私鑰
# genrsa -out rsa_private_key.pem 1024
此時,咱們能夠在bin 文件夾中看到一個文件名爲rsa_private_key.pem 的文件,用記事本方式打開它,能夠看到-----BEGIN RSA PRIVATE KEY-----開頭,-----END RSA PRIVATEKEY-----結尾的沒有換行的字符串,這個就是原始的私鑰。
(2)RSA 私鑰轉換成PKCS8格式
# pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -ouform PEM -nocrypt
(3)生成公鑰
# rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
# PKCS轉換爲PEM > openssl pkcs12 -in myserver.pfx -out myserver.pem -nodes # PEM轉換爲DER > openssl x509 -outform der -in myserver.pem -out myserver.[der|crt] # PEM提取KEY > openssl RSA -in myserver.pem -out myserver.key # DER轉換爲PEM > openssl x509 -inform der -in myserver.[cer|crt] -out myserver.pem # PEM轉換爲PKCS > openssl pkcs12 -export -inkey myserver.key -in myserver.pem -out myserver.pfx -certfile ca.crt
> openssl pkcs12 -export -inkey www.mysite.com.key -in www.mysite.com.pem -passin pass:123456 -passout pass:123456 -out www.mysite.com.p12
# 查看KEY信息 $ openssl rsa -noout -text -in myserver.key # 查看CSR信息 $ openssl req -noout -text -in myserver.csr # 查看證書信息 $ openssl x509 -noout -text -in ca.pem # 查看證書公鑰對應的RSA模 $ openssl x509 -in mysite.pem -noout -modulus # 查看證書subject項
$ openssl x509 -in mysite.pem -noout -subject -nameopt multiline # 查看證書issuer項
$ openssl x509 -in mysite.pem -noout -issuer -nameopt multiline # 檢查證書用途 $ openssl x509 -purpose -noout -in 192.168.200.7.cer
一、Windows用戶開發者能夠在OpenSSL官方網站下載Windows的OpenSSL安裝包進行安裝。下載路徑:https://www.openssl.org/source/
二、簡易安裝包下載地址:https://files.cnblogs.com/files/xq1314/openssl.zip
(1)雙擊bin目錄下的openssl.exe執行文件
一、https://baike.baidu.com/item/openssl/5454803?fr=aladdin#5
二、http://blog.csdn.net/baidu_36649389/article/details/54379935