分类: LINUX
2011-05-19 13:02:57
首先生成证书请求:
#openssl req -new > server.csr
按照提示输入相关信息后,会在当前目录自动生成server.csr和privkey.pem两个文件,privkey.pem是私钥文件,默认会 有passphrase,如果不移除的话,每次运行apache的时候都会提示输入passphrase,所以如果服务器重启后如果你不在服务器前面,则 apache无法正常运行。
所以,第二步需要移除passphrase:
#openssl rsa -in privkey.pem -out server.key
这一步会让你输入前面设定的passphrase,所以在前面的时候不要胡乱设定一个passphrase哈。
第三步,生成服务器证书:
#openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt
days参数是指定证书有效期的,3650是10 年,够长的了吧?
最后,在httpd.conf里的相应域名配置里加上:
SSLCertificateFile /etc/httpd/conf/key/server.crt
SSLCertificateKeyFile /etc/httpd/conf/key/server.key
然后重启apache即可。
====
UPDATE:
还有一种方法,先按照指定算法生成密钥:
#openssl genrsa -des3 1024 -new > server.old.key
然后移除passphrase:
#openssl rsa -in server.old.key -out server.key
然后生成证书请求:
#openssl req -new -key server.key > server.csr
最后生成证书:
#openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt