16 å, 2006
用OpenSSL创建自己的证书 SSL是一种基于证书的协议,任何运行SSL服务的服务器都需要自己的证书。通常为了保证通用性,我们会向证书颁发机构(Certificate Authority, 简称CA, 如VeriSign、Thawte等等)申请证书,但这需要一笔费用。对于小型组织的内部邮件服务器而言,我们完全可以使用自行建立的证书颁发机构和证书来实现我们的需求。 下面的例子中,我们约定文件名如下: 服务器的key-pair mykey.pem 服务器的CA签名证书 mycert.pem CA自己的证书 cacert.pem 注意,如果使用证书颁发机构发行的证书,请务必向证书颁发机构声明不要使用DES编码,否则证书将无法在sendmail中使用! 按照下面的操作创建自己的CA mkdir /usr/local/CA cd /usr/local/CA mkdir certs crl newcerts private echo “01” > serial cp /dev/null index.txt cp /etc/ssl/openssl.cnf openssl.cnf ee openssl.cnf 将光标移到38行左右,将 dir = ./demoCA # Where everything is kept 改为 dir = /usr/local/CA # Where everything is kept 接着生成CA证书 cd /usr/local/CA openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 1825 -config openssl.cnf 请根据自己的实际情况回答OpenSSL的问题。我们设定CA证书的有效期为5年(1825天),这能够满足一般的要求,又不致经常更新CA证书造成麻烦;也可以根据需要延长或缩短。需要注意,在提示PEM Passphrase的时候,请牢记输入的这个密码。 然后,对CA证书进行自签名,然后生成新的服务器证书。注意,服务器证书的Common Name必须是服务器的FQDN名字,如mail.frontfree.net,而不可以是mail,否则今后用户每次连接服务器的时候都会得到警告,造成不必要的困扰。 cd /usr/local/CA openssl req -nodes -new -x509 -keyout mykey.pem -out myreq.pem -days 365 -config openssl.cnf openssl x509 -x509toreq -in myreq.pem -signkey mykey.pem -out tmp.pem openssl ca -config openssl.cnf -policy policy_anything -out mycert.pem -infiles tmp.pem rm -f tmp.pem
最新回复
发表评论