openssl創建根證書並用根證書創建子證書

// 根證書私鑰 ca.key (無密碼去掉-des3)
openssl genrsa -des3 -out ca.key 1024

// 生成公鑰
openssl rsa -in cakey.crt -pubout -out capubkey.crt

// 根證書請求 ca.csr
openssl req -sha256 -new -key ca.key -out ca.csr

// 使用私鑰和證書請求籤髮根證書 ca.crt
openssl req -x509 -days 1024 -key ca.key -in ca.csr > ca.crt
或
openssl x509 -req -in request.csr -out cert.cer -signkey private.key -days 365

// 生成p12證書
openssl pkcs12 -export -in child.cer -inkey child.key -password pass:111111 -out child.p12

// 然後使用上面1、2命令創建server.csr、server.key

// 使用根證書籤發證書
openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA ca.crt -CAkey ca.key -CAcreateserial -days 999

// 將密鑰和證書合併,將crt文件內容追加到server.key內容後面
cp server.key server.pem
cat server.crt >> server.pem

// 檢測證書是否根證書籤發
openssl verify -CAfile 根證書.crt 用戶證書.crt
openssl verify -CAfile 根證書.crt -verbose 用戶證書.crt

// 驗證crl文件
openssl crl -in server.crl -CAfile root.cer -noout 
// 返回Error getting CRL issuer certificate 或 verify OK
 
// 吊銷證書server.crt
openssl ca -revoke server.crt -cert ca.crt -keyfile ca.key

// 生成crl吊銷證書文件
openssl ca -gencrl -out ca.crl -cert ca.crt -keyfile ca.key 

// 查看crl文件內容
openssl crl -in client.crl -text -noout

// crl文件der轉pem
openssl crl -in server.der -inform der -outform pem -out server.pem

// 生成證書鏈文件
openssl crl2pkcs7 -certfile root01.pem -certfile root02.pem -outform PEM -out root.p7b -nocrl


// 查看證書信息
openssl x509 此處省略10000字。。。靜靜往下看↓↓↓

// 打印證書請求信息
openssl req -in cert.pem -noout  -text

// 打印出證書的內容:
openssl x509 -in cert.pem -noout -text

// 打印出證書的系列號
openssl x509 -in cert.pem -noout -serial

// 打印出證書的擁有者名字
openssl x509 -in cert.pem -noout -subject

// 打印證書頒發者
openssl x509 -in ca.crt -noout -issuer

// 以RFC2253規定的格式打印出證書的擁有者名字
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253

// 在支持UTF8的終端一行過打印出證書的擁有者名字
openssl x509 -in cert.pem -noout -subject -nameopt oneline -nameopt -escmsb

// 打印出證書的MD5特徵參數
openssl x509 -in cert.pem -noout -fingerprint

// 打印出證書的SHA特徵參數
openssl x509 -sha1 -in cert.pem -noout -fingerprint

// 把PEM格式的證書轉化成DER格式
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

// 把der格式的證書鏈轉爲pem格式
openssl pkcs7 -inform der -in safaricom_b2c.p7b -out safaricom_b2c_readable.p7b  

// 把p7b轉換成cer格式
openssl pkcs7 -print_certs -in chain.p7b -out chain.cer

// 把一個證書轉化成CSR
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem

// 給一個CSR進行處理,頒發字簽名證書,增加CA擴展項
openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca -signkey key.pem -out cacert.pem

// 給一個CSR簽名,增加用戶證書擴展項
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr -CA cacert.pem -CAkey key.pem -CAcreateserial

// 取證書請求文件的MD5
openssl req -modulus -in req.csr | grep Modulus | openssl md5

// 取證書公鑰MD5
cat ecpubkey.pem | openssl md5

// 取證書私鑰MD5
openssl rsa -noout -modulus -in private.key | openssl md5




 

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