OpenSSL命令
OpenSSL命令
OpenSSL命令分為以下3個部分。
標準命令Standard commands
- asn1parse:
asn1parse用於解釋用ANS.1語法書寫的語句(ASN一般用於定義語法的構成)
演示命令操作順序:4 -> 5 -> 3 -> 2-> 6 -> 7 ->8
- ca:
ca用於CA的管理.
用法:
openssl ca [-options]。
2.1) -selfsign
使用對證照請求進行簽名的金鑰對來簽發證照。即”自簽名”,這種情況發生在生成證照的客戶端、簽發證照的CA都是同一臺機器(也是我們大多數實驗中的情況),我們可以使用同一個金鑰對來進行”自簽名”
2.2) -in file
需要進行處理的PEM格式的證照
2.3) -out file
處理結束後輸出的證照檔案
2.4) -cert file
用於簽發的根CA證照
2.5) -days arg
指定簽發的證照的有效時間
2.6) -keyfile arg
CA的私鑰證照檔案
2.7) -keyform arg
CA的根私鑰證照檔案格式:
2.7.1) PEM
2.7.2) ENGINE
2.8) -key arg
CA的根私鑰證照檔案的解密密碼(如果加密了的話)
2.9) -config file
配置檔案
- X.509證照籤發請求(CSR)管理
用法:
openssl req [options] outfile
3.1) -inform arg
輸入檔案格式
3.1.1) DER
3.1.2) PEM
3.2) -outform arg
輸出檔案格式
3.2.1) DER
3.2.2) PEM
3.3) -in arg
待處理檔案
3.4) -out arg
待輸出檔案
3.5) -passin
用於簽名待生成的請求證照的私鑰檔案的解密密碼
3.6) -key file
用於簽名待生成的請求證照的私鑰檔案
3.7) -keyform arg
3.7.1) DER
3.7.2) NET
3.7.3) PEM
3.8) -new
新的請求
3.9) -x509
輸出一個X509格式的證照
3.10) -days
X509證照的有效時間
3.11) -newkey rsa:bits
生成一個bits長度的RSA私鑰檔案,用於簽發
3.12) -[digest]
HASH演算法
3.12.1) md5
3.12.2) sha1
3.12.3) md2
3.12.4) mdc2
3.12.5) md4
3.13) -config file
指定openssl配置檔案
3.14) -text: text顯示格式
example1: 利用CA的RSA金鑰建立一個自簽署的CA證照(X.509結構)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
example2: 用server.key生成證照籤署請求CSR(這個CSR用於傳送給CA中心等待簽發)
openssl req -new -key server.key -out server.csr
example3: 檢視CSR的細節
openssl req -noout -text -in server.csr
- genrsa: 生成RSA引數
用法:
openssl genrsa [args] [numbits]
4.1) 對生成的私鑰檔案是否要使用加密演算法進行對稱加密:
4.1.1) -des: CBC模式的DES加密
4.1.2) -des3: CBC模式的3DES加密
4.1.3) -aes128: CBC模式的AES128加密
4.1.4) -aes192: CBC模式的AES192加密
4.1.5) -aes256: CBC模式的AES256加密
4.2) -passout arg: arg為對稱加密(des、3des、aes)的密碼(使用這個引數就省去了console互動提示輸入密碼的環節)
4.3) -out file: 輸出證照私鑰檔案
[numbits]: 金鑰長度
example: 生成一個1024位的RSA私鑰,並用3DES加密(密碼為123456),儲存為server.key檔案
openssl genrsa -out server.key -passout pass:123456 -des3 1024
- RSA資料管理
用法:
openssl rsa [options] outfile
5.1) -inform arg
輸入金鑰檔案格式:
5.1.1) DER(ASN1)
5.1.2) NET
5.1.3) PEM(base64編碼格式)
5.2) -outform arg
輸出金鑰檔案格式
5.2.1) DER
5.2.2) NET
5.2.3) PEM
5.3) -in arg
待處理金鑰檔案
5.4) -passin arg
輸入這個加密金鑰檔案的解密金鑰(如果在生成這個金鑰檔案的時候,選擇了加密演算法了的話)
5.5) -out arg
待輸出金鑰檔案
5.6) -passout arg
如果希望輸出的金鑰檔案繼續使用加密演算法的話則指定密碼
5.7) -des: CBC模式的DES加密
5.8) -des3: CBC模式的3DES加密
5.9) -aes128: CBC模式的AES128加密
5.10) -aes192: CBC模式的AES192加密
5.11) -aes256: CBC模式的AES256加密
5.12) -text: 以text形式列印金鑰key資料
5.13) -noout: 不列印金鑰key資料
5.14) -pubin: 檢查待處理檔案是否為公鑰檔案
5.15) -pubout: 輸出公鑰檔案
example1: 對私鑰檔案進行解密
openssl rsa -in server.key -passin pass:123456 -out server_nopass.key
example:2: 利用私鑰檔案生成對應的公鑰檔案
openssl rsa -in server.key [-passin pass:123456] -pubout -out server_public.key
- x509
openssl x509是一個功能很豐富的證照處理工具。可以用來顯示證照的內容,轉換其格式,給CSR簽名等X.509證照的管理工作
用法:
openssl x509 [args]
6.1) -inform arg
待處理X509證照檔案格式
6.1.1) DER
6.1.2) NET
6.1.3) PEM
6.2) -outform arg
待輸出X509證照檔案格式
6.2.1) DER
6.2.2) NET
6.2.3) PEM
6.3) -in arg
待處理X509證照檔案
6.4) -out arg
待輸出X509證照檔案
6.5) -req
表明輸入檔案是一個”請求籤發證照檔案(CSR)”,等待進行簽發
6.6) -days arg
表明將要簽發的證照的有效時間
6.7) -CA arg
指定用於簽發請求證照的根CA證照
6.8) -CAform arg
根CA證照格式(預設是PEM)
6.9) -CAkey arg
指定用於簽發請求證照的CA私鑰證照檔案,如果這個option沒有引數輸入,那麼預設認為私有金鑰在CA證照檔案裡有
6.10) -CAkeyform arg
指定根CA私鑰證照檔案格式(預設為PEM格式)
6.11) -CAserial arg
指定序列號檔案(serial number file)
6.12) -CAcreateserial
如果序列號檔案(serial number file)沒有指定,則自動建立它
example1: 轉換DER證照為PEM格式
openssl x509 -in cert.cer -inform DER -outform PEM -out cert.pem
example2: 使用根CA證照對”請求籤發證照”進行簽發,生成x509格式證照
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out serverx509.crt
example3: 列印出證照的內容
openssl x509 -in server.crt -noout -text
證照驗籤:
openssl verify -CAfile demoCA/cacert.pem usercert.crt
- crl
crl是用於管理CRL列表 .
openssl crl [args]
7.1) -inform arg
輸入檔案的格式
7.1.1) DER(DER編碼的CRL物件)
7.1.2) PEM(預設的格式)(base64編碼的CRL物件)
7.2) -outform arg
指定檔案的輸出格式
7.2.1) DER(DER編碼的CRL物件)
7.2.2) PEM(預設的格式)(base64編碼的CRL物件)
7.3) -text:
以文字格式來列印CRL資訊值。
7.4) -in filename
指定的輸入檔名。預設為標準輸入。
7.5) -out filename
指定的輸出檔名。預設為標準輸出。
7.6) -hash
輸出頒發者資訊值的雜湊值。這一項可用於在檔案中根據頒發者資訊值的雜湊值來查詢CRL物件。
7.7) -fingerprint
列印CRL物件的標識。
7.8) -issuer
輸出頒發者的資訊值。
7.9) -lastupdate
輸出上一次更新的時間。
7.10) -nextupdate
列印出下一次更新的時間。
7.11) -CAfile file
指定CA檔案,用來驗證該CRL物件是否合法。
7.12) -verify
是否驗證證照。
example1: 輸出CRL檔案,包括(頒發者資訊HASH值、上一次更新的時間、下一次更新的時間)
openssl crl -in crl.crl -text -issuer -hash -lastupdate –nextupdate
example2: 將PEM格式的CRL檔案轉換為DER格式
openssl crl -in crl.pem -outform DER -out crl.der
- crl2pkcs7
用於CRL和PKCS#7之間的轉換
openssl crl2pkcs7 [options] outfile
轉換pem到spc
openssl crl2pkcs7 -nocrl -certfile venus.pem -outform DER -out venus.spc
- pkcs12:PKCS#12資料的管理
pkcs12檔案工具,能生成和分析pkcs12檔案。PKCS#12檔案可以被用於多個專案,例如包含Netscape、 MSIE 和 MS Outlook
openssl pkcs12 [options]
- pkcs7: PCKS#7資料的管理
用於處理DER或者PEM格式的pkcs#7檔案
openssl pkcs7 [options] outfile
全球可信CA機構
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31483669/viewspace-2676577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- openssl命令使用
- openssl命令列和API命令列API
- End Of Live OpenSSL 1.1 vs Slow OpenSSL 3.0
- OpenSSL 自述
- openssl學習
- openssl的用法
- linux openssl升級-從OpenSSL1.0.2K-1.1.1iLinux
- centos7 openssl升級版本到OpenSSL 1.1.1nCentOS
- OpenSSL測試-HMACMac
- windows 安裝 opensslWindows
- openssl加密檔案加密
- 升級openssl - OpenSSL 拒絕服務漏洞 (CVE-2020-1971)
- Windows安裝使用OpensslWindows
- openssl 簽發證書
- Ubuntu中安裝OpenSSLUbuntu
- cmake openssl 生成失敗
- Nginx如何升級OpensslNginx
- openssl常用使用總結
- OpenSSL + Windows 下載安裝Windows
- CentOS6.5 安裝opensslCentOS
- OpenSSL測試-SM3
- sdf 測試-2-openssl
- OpenSSL測試-SM4
- Laravel-pay openssl_sign ()Laravel
- 伺服器 升級OpenSSL伺服器
- .NetCore+OpenSSL實現HttpsNetCoreHTTP
- php如何openssl_encrypt加密解密PHP加密解密
- openSSL生成公鑰和私鑰
- openssl生成自簽名證書
- OpenSSL支援TLS1.3特性前瞻TLS
- OpenSSL-CVE-2015-1793漏洞分析
- OpenSSL工具生成RSA金鑰對
- qt 5.12測試openssl報錯QT
- python openssl模組如何安裝?Python
- openssl_private_encrypt(): key param is not a valid
- QT支援https及編譯OpenSSLQTHTTP編譯
- openssl-3.0.0-alpha9編譯編譯
- openssh升級7.4p1至8.4p1、openssl升級至openssl-1.1.1h