欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OpenSSL生成证书 博客分类: apache

程序员文章站 2024-03-16 17:02:10
...

转发自:http://blog.sina.com.cn/s/blog_9e9d2211010199yj.html


要生成证书的目录下建立几个文件和文件夹,有./demoCA/ ./demoCA/newcerts/ ./demoCA/index.txt ./demoCA/serial,在serial文件中写入第一个序列号“01”

1.生成X509格式的CA自签名证书
$openssl req -new -x509 -keyout ca.key -out ca.crt

可以加证书过期时间选项 "-days 365"

2.生成服务端的私钥(key文件)及csr 文件
$openssl genrsa -des3 -out server.key 1024
$openssl req -new -key server.key -out server.csr

3.生成客户端的私钥(key文件)及csr文件
$openssl genrsa -des3 -out client.key 1024
$openssl req -new -key client.key -out client.csr

4.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名
$openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
$openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

5. 生成p12格式证书
$openssl pkcs12 -export -inkey client.key -in client.crt -out client.pfx
$openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx

6.生成pem格式证书
有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成
$cat client.crt client.key> client.pem
$cat server.crt server.key > server.pem

7.PFX文件转换为X509证书文件和RSA密钥文件
$openssl pkcs12 -in server.pfx -nodes -out server.pem
$openssl rsa -in server.pem -out server2.key
$openssl x509 -in server.pem -out server2.crt

生成

服务端证书:ca.crt, server.key, server.crt, server.pem, server.pfx

客户端证书:ca.crt, client.key, client.crt, client.pem, client.pfx