// 根證書私鑰 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