openssl的使用

1.生成私鑰

openssl genrsa -out rsa_private_key.pem  1024

 

2、通過私鑰生成公鑰

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

 

3、對私鑰進行pkcs8編碼

openssl pkcs8 -in rsa_private_key.pem -topk8 -out pkcs9_rsa_private_key.pem  -inform PEM -outform PEM  -nocrypt

 

4、生成加密的私鑰

openssl genrsa -aes256 -passout pass:123456 -out aes_rsa_private_key.pem 1024

 

5、通過加密私鑰生成公鑰

openssl rsa -in aes_rsa_private_key.pem -passin pass:123456 -pubout  -out rsa_public_key.pem

6、非加密私鑰轉加密

openssl rsa -in rsa_private_key.pem -aes256 -passout pass:123456 -out t_aes_rsa_private_key.pem

7、加密轉非加密

openssl rsa -in t_aes_rsa_private_key.pem -passin pass:123456 -out t_rsa_private_key.pem

8、私鑰pem轉der

openssl rsa -in rsa_private_key.pem -outform der  -out rsa_private_key.der

9、查看私鑰明細

openssl rsa -in rsa_private_key.pem -text -noout

10、通過已有的私鑰生成簽名證書

openssl req -new -x509 -days 365 -key aes_rsa_private_key.pem -out cert.crt

11、生成私鑰和簽名證書

openssl req -newkey rsa:2048 -nodes -keyout rsa_private_key.pem -x509 -days 365 -out cert.crt  #-nodes指的是不用密碼

12、通過私鑰生成CA簽名

openssl req  -new -key aes_rsa_private_key.pem -passin pass:123456 -out server.csr

 *** 此時生成的 csr簽名請求文件可提交至 CA進行簽發 ***

13、查看csr細節信息

openssl req -noout -text -in server.csr

14、查看證書細節

openssl x509 -in server.crt -noout -text

15、通過pem證書和私鑰生成pkcs#12證書

openssl pkcs12 -export  -password pass:123456 -in server.crt  -inkey rsa_private_key.pem -out server.p12

其中-export指導出pkcs#12 證書,-inkey 指定了私鑰文件,-passin 爲私鑰(文件)密碼(nodes爲無加密),-password 指定 p12文件的密碼(導入導出)

##############################################################################################

摘要算法

過程:

1.使用md5指定sha1算法,明文輸出簽名文件(所以建議做摘要和簽名驗證時使用dgst指令,以免誤導)

openssl dgst  -sha1 -sign rsa_private_key.pem cert.crt -out sign.txt
---一樣的結果
openssl md5  -sha1 -sign rsa_private_key.pem cert.crt -out sign.txt
---指定-c -hex參數,以16進制打印結果
openssl dgst  -sha256 -c -hex  -sign rsa_private_key.pem cert.crt

 結果:

 

 

2.使用RSA祕鑰進行簽名驗證操作

--公鑰驗證
openssl dgst -verify rsa_public_key.pem -sha1  -signature sign.txt  cert.crt
--私鑰驗證
openssl dgst -prverify rsa_private_key.pem -sha1  -signature sign.txt  cert.crt

 結果:

 

 

證書信息:

證書版本:            V3
證書序列號:          07000220180925110000001562261
證書持有者祕鑰標識符:  80:B2:32:B9:37:C3:F9:E9:8D:D3:DC:44:E9:59:AB:47:93:9E:70:CB
//證書擁有者
證書擁有者信息:       /C=CN/ST=廣東省/L=深圳市/O=機構測試3/OU=深圳共築網絡科技項目測試/CN=機構測試3
證書擁有者信息CN:     機構測試3
證書擁有者信息O:      機構測試3
證書擁有者信息OU:     深圳共築網絡科技項目測試
//證書頒發者
頒發者祕鑰標識符:     keyid:95:4D:13:1F:6B:21:91:09:6F:16:12:8A:65:BC:0B:56:0B:11:6B:C8
證書頒發者信息:        /C=CN/O=Global Digital Cybersecurity Authority Co., Ltd./CN=GDCA Public CA1
證書頒發者CN:        GDCA Public CA1
證書頒發者O:         Global Digital Cybersecurity Authority Co., Ltd.

證書有效期:          2018-9-25:00:00:00  2019-9-25:00:00:00
祕鑰用途:            Digital Signature, Non Repudiation

證書信息:

    CN: 公有名稱(Comon Name)     ---對於簽名證書爲申請單位名稱,對於客戶端爲證書申請者姓名

    O:單位名稱(Orgnization Name)  ---對於簽名證書爲申請單位名稱,對於客戶端證證書申請者所在的單位名稱

   其他的單詞意思好理解

    OU: 顯示其他內容

issuer : 證書是由哪個公司創建的

 

名詞解釋:

OAEP(optimal asymmetric encryption padding):最優非對稱加密填充。RSA加解密多基於OAEP。

PSS(probability Signature schema):。RSA的簽名認證是基於PSS的

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章