原来win+apache实现ssl的证书认证如此简单 +使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
2012-09-24 18:12
926 查看
使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
原来win+apache实现ssl的证书认证如此简单 :http://bbs.51cto.com/topic/thread-32777.html
简要介绍了使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程。
首先建立CA密钥
openssl genrsa -des3 -out ca.key 1024 (创建密钥)
chmod 400 ca.key (修改权限为仅root能访问)
openssl rsa -noout -text -in ca.key (查看创建的证书)
利用CA密钥自签署CA证书
openssl req -config openssl.cnf -new -x509 -days 3650 -key ca.key -out ca.crt
chmod 400 ca.crt (修改权限为仅root能访问)
openssl x509 -noout -text -in ca.crt (查看创建的证书)
创建服务器证书签署申请
openssl genrsa -des3 -out client.key 1024
chmod 400 client.key (修改权限为仅root能访问)
openssl rsa -noout -text -in client.key (查看创建的证书)
利用证书签署申请生成请求
openssl req -config openssl_client.cnf -new -key client.key -out client.csr
openssl req -noout -text -in client.csr (查看创建的请求)
进行证书签署
这时候需要先设置一下openssl的配置文件。
modify openssl.cnf并根据这个配置文件创建相应的目录和文件。
在创建了serial文件之后,还需要添加当前的八进制的serial number,如:01
然后执行:
openssl ca -config openssl_client.cnf -keyfile ca.key -cert ca.crt -in client.csr -out client.pem -days 1095
这个certificate是BASE64形式的,要转成PKCS12才能装到IE,/NETSCAPE上.所以还要:
openssl pkcs12 -export -in client.pem -inkey client.key -out clinet.pfx
证书撤销
openssl ca -keyfile ca.key -cert ca.crt -revoke client.pem
这时数据库被更新证书被标记上撤销的标志,需要生成新的证书撤销列表:
openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl/test.crl
查看证书撤销列表:
openssl crl -noout -text -in crl/test.crl
证书撤销列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:
openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl
相关文章推荐
- 使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程
- 使用openssl来生成CA证书、证书申请、颁发证书以及撤销证书的过程
- 使用keytool和openssl工具生成SSL双向认证密钥对和证书库
- rhel6.3下使用openssl来生成CA证书并颁发证书实例解析
- rhel6.3下使用openssl来生成CA证书并颁发证书实例解
- Mac 下Nodejs 使用 https 的过程以及使用openssl生成私钥、公钥和证书
- Openssl CA证书生成以及双向认证,及windows系统证书批量导出,android cer转bks
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- win+apache实现ssl的证书认证[进一步的说明]
- Openssl CA证书生成以及双向认证,及windows系统证书批量导出,android cer转bks
- 基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good
- SSL的认证原理及使用openssl创建CA自认证证书
- 关于使用由CA机构(EJBCA)颁发的证书实现SLLSocket双向认证服务端报null cert chain的解决方案
- openssl实现双向认证教程(服务端代码+客户端代码+证书生成)
- 精心为您准备的Openssl实现私有CA的详细过程,以及如何配置安装证书 推荐
- SSL使用windows证书库中证书实现双向认证
- 使用腾讯证书服务为Centos7+Apache申请颁发证书 推荐