openssl s_client,openssl req

 2023-10-06 阅读 17 评论 0

摘要:用途:生成證書請求文件、驗證證書請求文件和創建根CA。語法:openssl req [-new] [-newkey rsa:bits] [-verify] [-x509] [-in filename] [-out filename][-key filename] [-passin arg] [-passout arg] [-keyout filename] [-pubkey] [-nodes] [-[dgst]] [-conf
用途:
生成證書請求文件、驗證證書請求文件和創建根CA。


語法:
openssl req
[-new] [-newkey rsa:bits] [-verify] [-x509] [-in filename] [-out filename]
[-key filename] [-passin arg] [-passout arg] [-keyout filename] [-pubkey]
[-nodes] [-[dgst]] [-config filename] [-subj arg] [-days n] [-set_serial n]
[-extensions section] [-reqexts section] [-utf8] [-nameopt] [-reqopt] [-subject]
[-subj arg] [-text] [-noout] [-batch] [-verbose]

?

參數說明:
-new :創建一個證書請求文件,會交互式提醒輸入一些信息,這些交互選項以及交互選項信息的長度值以及其他一些擴展屬性在配置文件(默認為

:openssl.cnf,還有些輔助配置文件)中指定了默認值。如果沒有指定"-key"選項,則會自動生成一個RSA私鑰,該私鑰的生成位置

:也在openssl.cnf中指定了。如果指定了-x509選項,則表示創建的是自簽署證書文件,而非證書請求文件

-newkey args :類似于"-new"選項,創建一個新的證書請求,并創建私鑰。args的格式是"rsa:bits"(其他加密算法請查看man),其中bits

openssl s_client, :是rsa密鑰的長度,如果bits省略了(即-newkey rsa),則長度根據配置文件中default_bits指令的值作為默認長度,默認該值為2048

:如果指定了-x509選項,則表示創建的是自簽署證書文件,而非證書請求文件

-nodes :默認情況下,openssl req自動創建私鑰時都要求加密并提示輸入加密密碼,指定該選項后則禁止對私鑰文件加密

-key filename :指定私鑰的輸入文件,創建證書請求時需要

-keyout filename :指定自動創建私鑰時私鑰的存放位置,若未指定該選項,則使用配置文件中default_keyfile指定的值,默認該值為privkey.pem

-[dgst] :指定對創建請求時提供的申請者信息進行數字簽名時的單向加密算法,如-md5/-sha1/-sha512等,

openssl-devel? :若未指定則默認使用配置文件中default_md指定的值 -verify :對證書請求文件進行數字簽名驗證

-x509 :指定該選項時,將生成一個自簽署證書,而不是創建證書請求。一般用于測試或者為根CA創建自簽名證書

-days n :指定自簽名證書的有效期限,默認30天,需要和"-x509"一起使用。

:注意是自簽名證書期限,而非請求的證書期限,因為證書的有效期是頒發者指定的,證書請求者指定有效期是沒有意義的,

:配置文件中的default_days指定了請求證書的有效期限,默認365天

-set_serial n :指定生成自簽名證書時的證書序列號,該序列號將寫入配置文件中serial指定的文件中,這樣就不需要手動更新該序列號文件

編譯openssl、 :支持數值和16進制值(0x開頭),雖然也支持負數,但不建議 -in filename :指定證書請求文件filename。注意,創建證書請求文件時是不需要指定該選項的

-out filename :證書請求或自簽署證書的輸出文件,也可以是其他內容的輸出文件,不指定時默認stdout

-subj args :替換或自定義證書請求時需要輸入的信息,并輸出修改后的請求信息。args的格式為"/type0=value0/type1=value1..."

:如果value為空,則表示使用配置文件中指定的默認值,如果value值為".",則表示該項留空。其中可識別type(man req)有:

:C是Country、ST是state、L是localcity、O是Organization、OU是Organization Unit、CN是common name等 【輸出內容選項:】

-text :以文本格式打印證書請求

openssh-server。-noout :不輸出部分信息 -subject :輸出證書請求文件中的subject(如果指定了x509,則打印證書中的subject)

-pubkey :輸出證書請求文件中的公鑰 【配置文件項和雜項:】

-passin arg :傳遞解密密碼

-passout arg :指定加密輸出文件時的密碼

-config filename :指定req的配置文件,指定后將忽略所有的其他配置文件。如果不指定則默認使用/etc/pki/tls/openssl.cnf中req段落的值

-batch :非交互模式,直接從配置文件(默認/etc/pki/tls/openssl.cnf)中讀取證書請求所需字段信息。但若不指定"-key"時,仍會詢問key

req文件、-verbose :顯示操作執行的詳細信息

input_password :密碼輸入文件,和命令行的"-passin"選項對應,

output_password :密碼的輸出文件,與命令行的"-passout"選項對應,

default_bits :openssl req自動生成RSA私鑰時的長度,不寫時默認是512,命令行的"-new""-newkey"可能會用到它

default_keyfile:默認的私鑰輸出文件,與命令行的"-keyout"選項對應

encrypt_key :當設置為no時,自動創建私鑰時不會加密該私鑰。設置為no時與命令行的"-nodes"等價。還有等價的兼容性寫法:encry_rsa_key

default_md :指定創建證書請求時對申請者信息進行數字簽名的單向加密算法,與命令行的"-[dgst]"對應

openssl命令用法。 prompt :當指定為no時,則不提示輸入證書請求的字段信息,而是直接從openssl.cnf中讀取 :請小心設置該選項,很可能請求文件創建失敗就是因為該選項設置為no

distinguished_name:(DN)是一個擴展屬性段落,用于指定證書請求時可被識別的字段名稱。

?

示例:
a.根據私鑰pri_key.pem生成一個新的證書請求文件。其中"-new"表示新生成一個新的證書請求文件,

"-key"指定私鑰文件,"-out"指定輸出文件,此處輸出文件即為證書請求文件。

openssl genrsa -out pri_key.pem
openssl req -new -key pri_key.pem -out req1.csr
b.查看證書請求文件內容。
openssl req -in req1.csr或cat req1.csr或openssl req -in req1.csr -text
c.指定證書請求文件中的簽名算法。
openssl req -new -key pri_key.pem -out req2.csr -md5
d.驗證請求文件的數字簽名,這樣可以驗證出證書請求文件是否被篡改過。
openssl req -verify -in req2.csr
e.自簽署證書,可用于自建根CA時。
openssl req -x509 -key pri_key.pem -in req1.csr -out CA1.crt -days 365
f.讓openssl req自動創建所需的私鑰文件。
openssl req -new -out req3.csr 或
openssl req -new -out req3.csr -nodes -keyout myprivkey.pem
g.使用"-newkey"選項。
openssl req -newkey rsa:2048 -out req3.csr -nodes -keyout myprivkey.pem

?

?

openssl系列命令大綱:http://www.cnblogs.com/aixiaoxiaoyu/p/8650180.html

openssl查看證書信息、轉載于:https://www.cnblogs.com/aixiaoxiaoyu/articles/8891176.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/119201.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息