如何使用openssl制作自签证书

好久不见. 提交于 2019-12-02 14:53:16

#生成根证书的秘钥对(私钥+公钥)
openssl genrsa -out ca.key 4096

#生成根证书
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
#################################################################################################################
#生成server端证书的秘钥对
openssl genrsa -out server.pem 4096

#提取公钥
openssl rsa -in server.pem -out server.key

#生成签名请求
openssl req -new -key server.pem -out server.csr

#使用根证书签名
openssl x509 -req -sha512 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt
#################################################################################################################
#生成server端证书的秘钥
openssl genrsa -out client.pem 4096

#提取公钥
openssl rsa -in client.pem -out client.key

#生成签名请求
openssl req -new -key client.pem -out client.csr

#使用根证书签名
openssl x509 -req -sha512 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 20 -out client.crt

openssl x509 -req -sha512 -in client_test.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 10 -out client_test_ssl.crt
#################################################################################################################
openssl x509 -req -sha512 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 2000 -out client.crt
openssl x509 -req -sha512 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -startdate 20170101000000 -enddate 20170401000000 -out client.crt

#转为pkcs12格式
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

#################################################################################################################
#查看秘钥
openssl rsa -noout -text -in ca.key

#查看请求
openssl req -noout -text -in client.csr
openssl req -noout -text -in client_test.csr

#查看证书
openssl x509 -noout -text -in ca.crt
openssl x509 -noout -text -in client.crt
openssl x509 -noout -text -in client_test_ssl.crt
openssl x509 -noout -text -in client_test.crt

#验证证书
openssl verify -CAfile ca.crt client.crt
openssl verify -CAfile ca.crt client_test.crt
openssl verify -CAfile ca.crt client_test_ssl.crt
openssl verify -CAfile ca.crt server.crt

#吊销证书
openssl ca -revoke client.crt -cert private/ca.crt -keyfile private/ca.key
openssl ca -gencrl -out private/ca.crl

#验证是否被吊销
openssl verify -crl_check -CRLfile private/ca.crl -CAfile private/ca.crt client.crt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!