目录:
1)生成证书;
2)测试证书;
一、生成证书
参考:
http://blog.csdn.net/moonhillcity/article/details/52768218
http://blog.csdn.net/as3luyuan123/article/details/16105475
1.1 CA根证书的生成步骤
生成CA私钥(.key)-->生成CA证书请求(.csr)-->自签名得到根证书(.crt)(CA给自已颁发的证书)。
- # Generate CA private key
- openssl genrsa -out ca.key 2048
- # Generate CSR
- openssl req -new -key ca.key -out ca.csr
- # Generate Self Signed certificate(CA 根证书)
- openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
1.2 用户证书的生成步骤
生成私钥(.key)-->生成证书请求(.csr)-->用CA根证书签名得到证书(.crt)1.2.1 服务器端用户证书:
1.2.2 客户端用户证书:
1.2.3 生成pem格式证书:
有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成
$cat client.crt client.key> client.pem
$cat server.crt server.key > server.pem
1.2.4 将证书导出成浏览器支持的.p12格式 :
openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx -certfile ca.crt
openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx -certfile ca.crt
密码:123456
1.2.5 结果:
服务端证书:ca.crt, server.key, server.crt, server.pem,server.pfx
客户端证书:ca.crt, client.key, client.crt, client.pem, client.pfx
注意:
在执行$openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key时可能会出错:
Using configuration from /usr/share/ssl/openssl.cfg I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory
解决方法:
1)mkdir -p ./demoCA/newcerts
2)touch demoCA/index.txt
3)touch demoCA/serial
4)echo 01 > demoCA/serial