HTTPS服务自建证书生成

具体想了解SSL/TLS原理的请浏览SSL/TLS协议运行机制的概述SSL/TLS原理详解

对证书不太了解的,可以看数字证书及CA的扫盲介绍这篇文章。

1、安装升级openssl

首先,查看下当前设备的openssl版本,如果版本在openssl1.0.1g以上,请略过
openssl version -a
#OpenSSL 1.0.1f 6 Jan 2014

如果是处于1.0.1-1.0.1f的版本,那就赶快升级到1.0.1g版本以上吧!因为这些版本存在漏洞,详情请见关于OpenSSL“心脏出血”漏洞的分析

从上面信息可以看出我们的系统版本是1.0.1f,openssl需要升级。

 

2、创建用私钥签名的证书,配置到Apache服务器

首先,生成私钥,创建请求证书,使用私钥对证书进行签名

生成私钥 

openssl genrsa -des3 -out private.key 2048
-des3代表加上了加密,后面的2048是代表生成的密钥的位数,1024已经不是很安全,详情请见 互联网全站HTTPS的时代已经到来

生成证书请求 

openssl req -new -key private.key -out server.csr 

这一步需要填写一些信息,其中Common Name (e.g. server FQDN or YOUR name) []这个需要填写你的域名或服务器地址。

生成服务器的私钥,去除密钥口令 

openssl rsa -in private.key -out server.key

使用私钥为证书请求签名,生成给服务器签署的证书,格式是x509的PEM格式 

openssl x509 -req -in server.csr -out server.crt -outform pem -signkey server.key -days 3650

-outform pem指定证书生成的格式,默认是pem,所以这个命令也可以写作成

sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

猜你喜欢

转载自wb8206656.iteye.com/blog/2328705