1 OpenSSL概述
目前比较流行的认证服务器之一是OpenSSL认证服务器。OpenSSL项目在Eric Young开发的SSLeay包的基础上,开发一个健壮的、商业等级的、开放源码的工具包用强大的加密算法来实现安全的socket层和传输层安全性,这个项目由全世界的志源者管理和开发OpenSSL工具包和相关的文档[6]。它提供了众多而且复杂的API函数,可惜的是,目前它的文档不全,只能够程序员自已多做工作。它的网址是:http://www.openssl.org。
2 为CA创建一个RSA私钥
#openssl genrsa �Cdes3 �Cout �Cca.key 1024
系统提示输入PEM pass pharse,也就是密码。生成ca.key文件,可以将文件的属性改为400,并放在安全的地方。
3利用CA的RSA私钥创建一个自签名的CA证书
创建一个自签名的证书(Selfsigned certificate)运行req命令,该命令生成一个ca.crt。
#openssl req �Cnew �Cx509 �Cdays 3650 �Ckey ca.key �Cout ca.crt
然后系统提示输入国家代号、省份名称、城市名称、公司名称、部门名称、你的姓名及Email地址,这样一张自签名的CA证书就制作完成。
4为客户颁发证书
为客户创建证书,先用genrsa命令生成的私钥,用req命令生成证书签署请求CSR。
#openssl genrsa �Cdes3 �Cout client.key 1024
#openssl req �Cnew �Ckey client.key �Cout client.csr这里也要输入个人的信息。
然后用sign.sh签署证书。
#./sigh.sh client.crt
这样由CA签发的证书就制作完成。
5撤消证书
要吊消证书可以使用openssl的ca命令,它可以对证书进行吊消、加进CRL及CRL有关的其它一些处理。
要吊消证书可以简单地使用以下命令:
#openssl ca �Crevoke 证书文件名
这时数据库被更新证书被标记上吊消的标志,需要生成新的证书吊消列表:
#openssl ca -gencrl -config /etc/openssl.cnf -out crl/sopac-ca.crl
证书吊消列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:
openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl
6证书的更新
当用户发送他旧的证书证书或要在原有私钥的基础上建新的证书,所以必须吊消旧的证书然后再签发新的证书。要找到证书,可以用户的DN(区别名)在index.txt文件中查到序列号xx,用cert/<xx>.pem做为证书吊消的依据。你必须手动签发证书,因为开始时间和结束时间以便确定新证书的有效性。
#openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem -infiles newreq.pem -startdate [now] -enddate [previous enddate+365days]
用正确的时间替换 [now]和[previous enddate+365days]。
7查看证书
#openssl x509 -in cert.pem -noout �Ctext
结束语
数字证书相当于电子身份证,X.509证书是由CCITT X.509国际标准所规定,目前在电子商务飞速发展的今天应用相当的广泛,交易支付过程中,参与各方必须利用认证中心签发的数码证书来证明各自的身份,数字证书可以进行数字签名,支持不可否认性。电子交易中,无论数字时间戳还是数字证书的发放,都不是靠交易的双方自己来完成,而需要设立一个可靠的第三方机构,进行有效、快速、规范化的认证服务。CA(Certfication Authofity)就是这样一个机构,用openssl论证服务器进行证书发放,证书更新,证书撤销,建立自己的CA论证中心,开发费用低,代码健壮,用强大的加密算法来保证信息传输的安全,它将有力地促进我国电子商务的发展。
目前比较流行的认证服务器之一是OpenSSL认证服务器。OpenSSL项目在Eric Young开发的SSLeay包的基础上,开发一个健壮的、商业等级的、开放源码的工具包用强大的加密算法来实现安全的socket层和传输层安全性,这个项目由全世界的志源者管理和开发OpenSSL工具包和相关的文档[6]。它提供了众多而且复杂的API函数,可惜的是,目前它的文档不全,只能够程序员自已多做工作。它的网址是:http://www.openssl.org。
2 为CA创建一个RSA私钥
#openssl genrsa �Cdes3 �Cout �Cca.key 1024
系统提示输入PEM pass pharse,也就是密码。生成ca.key文件,可以将文件的属性改为400,并放在安全的地方。
3利用CA的RSA私钥创建一个自签名的CA证书
创建一个自签名的证书(Selfsigned certificate)运行req命令,该命令生成一个ca.crt。
#openssl req �Cnew �Cx509 �Cdays 3650 �Ckey ca.key �Cout ca.crt
然后系统提示输入国家代号、省份名称、城市名称、公司名称、部门名称、你的姓名及Email地址,这样一张自签名的CA证书就制作完成。
4为客户颁发证书
为客户创建证书,先用genrsa命令生成的私钥,用req命令生成证书签署请求CSR。
#openssl genrsa �Cdes3 �Cout client.key 1024
#openssl req �Cnew �Ckey client.key �Cout client.csr这里也要输入个人的信息。
然后用sign.sh签署证书。
#./sigh.sh client.crt
这样由CA签发的证书就制作完成。
5撤消证书
要吊消证书可以使用openssl的ca命令,它可以对证书进行吊消、加进CRL及CRL有关的其它一些处理。
要吊消证书可以简单地使用以下命令:
#openssl ca �Crevoke 证书文件名
这时数据库被更新证书被标记上吊消的标志,需要生成新的证书吊消列表:
#openssl ca -gencrl -config /etc/openssl.cnf -out crl/sopac-ca.crl
证书吊消列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:
openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl
6证书的更新
当用户发送他旧的证书证书或要在原有私钥的基础上建新的证书,所以必须吊消旧的证书然后再签发新的证书。要找到证书,可以用户的DN(区别名)在index.txt文件中查到序列号xx,用cert/<xx>.pem做为证书吊消的依据。你必须手动签发证书,因为开始时间和结束时间以便确定新证书的有效性。
#openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem -infiles newreq.pem -startdate [now] -enddate [previous enddate+365days]
用正确的时间替换 [now]和[previous enddate+365days]。
7查看证书
#openssl x509 -in cert.pem -noout �Ctext
结束语
数字证书相当于电子身份证,X.509证书是由CCITT X.509国际标准所规定,目前在电子商务飞速发展的今天应用相当的广泛,交易支付过程中,参与各方必须利用认证中心签发的数码证书来证明各自的身份,数字证书可以进行数字签名,支持不可否认性。电子交易中,无论数字时间戳还是数字证书的发放,都不是靠交易的双方自己来完成,而需要设立一个可靠的第三方机构,进行有效、快速、规范化的认证服务。CA(Certfication Authofity)就是这样一个机构,用openssl论证服务器进行证书发放,证书更新,证书撤销,建立自己的CA论证中心,开发费用低,代码健壮,用强大的加密算法来保证信息传输的安全,它将有力地促进我国电子商务的发展。
张志强
2007-05-03
没有评论:
发表评论