pk12 證書生成 用於RSA非對稱加密

2021-06-22 08:17:35 字數 2356 閱讀 9685

一生成ca相關

雙擊執行openssl.exe

1.生成 ca.key和ca.crt:

openssl req -new -x509 -keyout ca.key -out ca.crt -config ./openssl.cnf

輸入ca私鑰密碼和機構資訊

妥善儲存ca私鑰密碼以及其他機構資訊

二生成證書相關

1.生成金鑰 generate the private key(生成rsa金鑰)

openssl genrsa -des3 -out zhengshu.key 1024

輸入金鑰密碼

此命令將生成1024位的rsa金鑰,金鑰檔名為: zhengshu.key,會提示您設定金鑰密碼,請設定密碼,並牢記。需要注意的是這個檔案包含了公鑰和私鑰兩部分

執行時會提示輸入密碼,此密碼用於加密key檔案(引數des3便是指加密演算法,當然也可以選用其他你認為安全的演算法.),以後每當需讀取此檔案(通過openssl提供的命令或api)都需輸入口令.

2.生成csr檔案 generate the csr(生成乙個證書請求)

openssl req -new -key zhengshu.key -out zhengshu.csr -config ./openssl.cnf

生成certificate signing request(csr),生成的csr檔案交給ca簽名後形成服務端自己的證書.螢幕上將有提示,依照其指示一步一步輸入要求的個人資訊即可.

此命令將提示您輸入x.509證書所要求的字段資訊,包括國家(中國添cn)、省份、所在城市、單位名稱、單位部門名稱(可以不填直接回車)。請注意: 除國家縮寫必須填cn外,其餘都可以是英文或中文。

請輸入您要申請ssl證書的網域名稱,如果您需要為www.domain.com申請ssl證書就不能只輸入domain.com。ssl證書是嚴格繫結網域名稱的。

請不要輸入email、口令(challenge password)和可選的公司名稱,直接打回車即可。 

您現在已經通過私鑰成功生成了請求檔案:zhengshu.csr 儲存在您的伺服器中。

3. 備份金鑰檔案 backup your private key 

請備份您的金鑰檔案並記下私鑰密碼。最好是把金鑰檔案備份到軟盤或光碟中。

4. 測試csr

生成csr後,建議您自己測試一下生成的csr檔案是否正確

5. 使用者伺服器crt生成(生成數字證書)

openssl ca -days 3650 -in zhengshu.csr -out zhengshu.crt -cert ca.crt -keyfile ca.key -config ./openssl.cnf

輸入ca.key的密碼,確認兩次生成

輸入ca.key的金鑰後,完成證書生成。-in選項指明用於被簽名的csr證書,-cert選項指明用於被簽名的ca證書,--keyfile選項指明用於被簽名的ca金鑰

最後生成了ssl證書zhengshu.crt以及對應的.pem檔案(pem檔案以序號命名,生成時間同zhengshu.crt)

(生成的crt和pem都是公鑰,用來驗籤)

6. 生成pfx檔案

將可能存放於newcerts中的(具體參考配置檔案openssl.cnf中的new_certs_dir)隨crt生成的相應pem檔案複製到zhengshu.key的同一目錄下,並修改檔名為zhengshu.pem

openssl pkcs12 -export -in zhengshu.pem -inkey zhengshu.key -out zhengshu.pfx

輸入zhengshu.key的私鑰密碼,然後重新指定zhengshu.pfx的使用密碼

最後通過pem和key檔案生成了pfx,請記錄該使用密碼,在使用pfx進行加密過程中需要鍵該密碼。(該檔案裡面包含公鑰和私鑰,用來簽名)

key和pem是同乙個東西,只是字尾不同

crt和cer是同乙個東西,只是字尾不同

用zhengshu.pfx來做簽名(私鑰),zhengshu.crt做驗籤(公鑰)

備註:1.錯誤相關如果存在找不到openssl config檔案的,可重新生成乙份openssl.cnf檔案存放於openssl工具根目錄下,執行命令時加上-config ./openssl.cnf即可

2.如出現default is an unsupported message digest type之類的ca生成錯誤,修改openssl.cnf檔案的default_md = default修改為default_md = md5

3.其他資料夾錯誤請根據實際配置的openssl.cnf補充serial檔案/index.txt檔案/index.txt.attr檔案/newcerts資料夾 等

4.如果出現ca組織機構和簽發csr的機構不匹配無法簽發的情況,請根據openssl.cnf的配置修改

證書生成 通配證書生成的方法

今天幫乙個朋友搞了點事情,我提供了乙個可完全隱藏wkwebview並且能載入web的sdk提供給對方使用,為了防止sdk在多個專案的復用,限制了這個sdk只能在具體的某個bundle id下執行,正常情況下這樣是沒有問題的。通過換bundle id進行真機測試的方案很合理,但是針對現在這種需要特定的...

ssl證書生成

openssl req new x509 days 3650 nodes out opt ssl certs postfix.pem keyout opt ssl private postfix.pem第乙個是證書,第二個是key 私鑰 可以應用在很多程式上。下面舉兩個例子 nginx postfi...

nginx證書生成

一 把證書準備好。步驟與使用openssl自簽發伺服器https證書所述大同小異。在這裡再重複一次。1 製作ca證書 ca.key ca私鑰 openssl genrsa des3 out ca.key 2048 製作解密後的ca私鑰 一般無此必要 openssl rsa in ca.key out...