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




 

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