openssl學(xué)習(xí)總結(jié)
提示:首先要了解openssl 生成證書的步驟和原理
一、openssl命令簽名和驗(yàn)簽
- 生成私鑰和公鑰:
openssl genrsa -out private.pem 1024
openssl rsa -in private.pem -pubout > public.pem
2.私鑰簽名
對(duì)數(shù)據(jù)data.txt進(jìn)行簽名
echo -n A message for signing > data.txt
openssl dast -sha1 -sign private.pem -out sha1.sign data.txt
3.公鑰驗(yàn)簽
openssl dast -sha1 -verify public.pem -signature sha1.sign data.txt
二、生成證書的步驟與原理
- 生成自己的私鑰文件(.key)
- 基于私鑰生成證書請求文件(.csr)
- 將證書請求文件(.csr)提交給證書頒發(fā)機(jī)構(gòu)(CA),CA會(huì)對(duì)提交的證書請求中的所有信息生成一個(gè)摘要,然后使用CA根證書對(duì)應(yīng)的私鑰進(jìn)行加密,這就是所謂的“簽名”操作,完成簽名后就會(huì)得到真正的簽發(fā)證書(.cer或.crt)
- 用戶拿到簽發(fā)后的證書,可能需要導(dǎo)入到自己的密鑰庫中,如Java的keystore,或根據(jù)需要再進(jìn)行各種格式轉(zhuǎn)換(.pem .p12
.jks等等)匯總所有的情況來看,生成證書不外乎三種情形:
- 標(biāo)準(zhǔn)CA簽發(fā)流程
- 生成自簽名證書
- 生成私有CA簽發(fā)的證書
2.生成自簽名證書的步驟
1.模擬ca
- 生成ca的私鑰
openssl genrsa -des3 -out ca.key 2048
2.生成根證書
openssl req -x509 -key ca.key -out ca.crt -days 365
1.模擬網(wǎng)站生成證書
- 生成私鑰和證書申請文件
openssl genrsa -out my-site.com.key 2048
openssl req -new my-site.com.key -out my-site.com.csr
more my-site.com.csr
2. 用本地ca來簽發(fā)證書
openssl x509 -req -in ../my-site.com/my-site.com.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out my-site.com.crt -day 365
3. 用本地服務(wù)配置證書文章來源:http://www.zghlxwxcb.cn/news/detail-776257.html
總結(jié)
提示:這里對(duì)文章進(jìn)行總結(jié):
文章來源地址http://www.zghlxwxcb.cn/news/detail-776257.html
openssl req命令參數(shù)說明
-days <n>
指定證書有效期,默認(rèn)是30天,與 -x509 選項(xiàng)一起使用
-newkey rsa:2048
生成一個(gè)新的證書申請,同時(shí)生成一個(gè) 2048 位的 RSA 私鑰
-keyout <keyfile>
新私鑰要寫入的文件
-nodes
不對(duì)新私鑰加密
-key <keyfile>
讀取指定的私鑰文件.
-text
同時(shí)打印純文本版本和編碼版本信息
-noout
不打印編碼后版本 (BASE64編碼)
-new
生成一個(gè)新的證書申請,會(huì)提示用戶輸入相關(guān)字段的值,如果沒有 -key 選項(xiàng),會(huì)使用指定配置文件中的信息生成一個(gè)新的 RSA 私鑰.
-x509
輸出自簽名的證書,而不是請求一個(gè)證書. 通常用于生成測試證書或自簽名的根證書.
-subj <arg>
申請人信息,格式是 /C=CN/O=Corp/.../CN=www.ez.com,可以使用 \ 轉(zhuǎn)義,不會(huì)跳過空格.
-[digets] 指定簽署請求時(shí)使用的信息摘要算法,如 -md5,-sha1,-sha256
openssl req的-subj參數(shù)說明
/C= Country 國家
/ST= State or Province 省
/L= Location or City 城市
/O= Organization 組織或企業(yè)
/OU= Organization Unit 部門
/CN= Common Name 域名或IP
到了這里,關(guān)于使用OpenSSL生成/簽發(fā)證書步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!