一 基本概念:
OpenSSL
是一個開源項目,其組成主要包括一下三個組件:
openssl
:多用途的命令行工具libcrypto
:加密算法庫libssl
:加密模塊應用庫,實現了ssl及tls
openssl
可以實現:秘鑰證書管理、對稱加密和非對稱加密更多簡介和官網。
平時我們使用openssl
最多的莫過於使用指令了,而最為常見的幾個指令如下:
genrsa
生成RSA參數req
x509
rsa
ca
為了縮短篇幅,突出重點,這里只介紹req和x509的用法:
二 req
req
的基本功能主要有兩個:生成證書請求和生成自簽名證書,當然這並不是其全部功能,但是這兩個最為常見;
常見使用方法:
openssl req [args] outfile
主要參數:【更多參數查看:openssl req -help】
args1 是輸入輸入文件格式:-inform arg -inform DER 使用輸入文件格式為DER -inform PEM 使用輸入文件格式為PEM args2 輸出文件格式:-outform arg -outform DER 使用輸出文件格式為DER -outform PEM 使用輸出文件格式為PEM args3 是待處理文件 -in inputfilepath args4 待輸出文件 -out outputfilepath args5 用於簽名待生成的請求證書的私鑰文件的解密密碼 -passin passwords args6 用於簽名待生成的請求證書的私鑰文件 -key file args7指定輸入密鑰的編碼格式 -keyform arg -keyform DER -keyform NET -keyform PEM args8 生成新的證書請求 -new args9輸出一個X509格式的證書,簽名證書時使用 -x509 args10使用X509簽名證書的有效時間 -days // -days 3650 有效期10年
使用的案例:利用私鑰生成證書請求csr
openssl req -new -key server.key -out server.csr
使用案例:利用私鑰生成自簽名證書
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
三 x509
x509
是一個功能很豐富的證書處理工具。可以用來顯示證書的內容,轉換其格式,給CSR簽名等X.509證書的管理工作;
用法如下:
openssl x509 [args]
參數如下:【更多參數查看:openssl x509 -help】
args1 是輸入輸入文件格式:-inform arg -inform DER 使用輸入文件格式為DER -inform PEM 使用輸入文件格式為PEM args2 輸出文件格式:-outform arg -outform DER 使用輸出文件格式為DER -outform PEM 使用輸出文件格式為PEM args3 是待處理X509證書文件 -in inputfilepath args4 待輸出X509證書文件 -out outputfilepath args5表明輸入文件是一個"請求簽發證書文件(CSR)",等待進行簽發 -req args6簽名證書的有效時間 -days // -days 3650 有效期10年
使用實例: 使用根CA證書[ca.crt]和私鑰[ca.key]對"請求簽發證書"[server.csr]進行簽發,生成x509格式證書
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out serverx509.crt
參考文檔:
1 https://segmentfault.com/a/1190000014963014?utm_source=tag-newest
2 https://blog.csdn.net/yexiangcsdn/article/details/79230576