您的位置:首页 > 运维架构 > Apache

原来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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: