使用OpenSSL自签发服务器https证书

本文介绍利用OpenSSL自签发服务器https证书:CA证书(根证书)和server证书(服务器域名证书)。

XAMPP套件已经自带OpenSSL了,若单独配置,可以自行安装OpenSSL,同时避免使用2014年4月心脏出血漏洞时宣布存在漏洞的版本。(新版XAMPP已经完成了更新)。

具体教程

OpenSSL官方推荐win32可执行文件版下载:
http://www.slproweb.com/products/Win32OpenSSL.html

1、ca.key CA私钥:

使用“openssl genrsa -des3 -out ca.key 2048”生成密钥文件时,是需要输入密钥的,运行的时候会让你输入并确认你的密钥,但是在Windows环境下,启动Apache会导致以下错误:

错误:Apache启动失败
错误提示是:Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file …..)
原因是:window下的apache不支持加密的私钥文件。可不使用des3加密。
2、制作解密后的CA私钥,但一般不需要这一步:

3、ca.crt CA根证书(公钥):

根证书时,commonname可以是公司名字,而不需要是域名。
4、服务器server私钥:

window下的apache不支持加密的私钥文件。可不使用des3加密。
5、制作解密后的服务器server私钥(Win+Apache需要解密后的server私钥):

6、从服务器server私钥生成签名请求CSR文件:

服务器证书,commonName时输入域名,如*.creke.net,支持*通配符,邮箱之后的内容可填可不填,如果生成个人证书,如用来加密签名电子邮件,commonName输入姓名,emailAddress是电子邮件地址
7、使用Root CA为user签名
需要使用到的文件:server.csr, ca.crt,ca.key

如果Root(CA证书)没有密码,以上命令后输入两次”y”,生成server.crt成功。
如果报错,请确定运行openssl命令的目录下是否有如下文件夹:
—demoCA(一级)
– newcerts(二级)
– private(二级)
及demoCA文件夹下有如下文件:
demoCA
– index.txt
– serial
index.txt为空白文件,serial文件中输入数字如:123.

三个步骤操作完成,附上Root CA crt格式转换为der格式命令:

der格式适用于某些移动设备导入根证书。

 

 

参考:

http://www.server110.com/apache/201309/1542.html

http://www.2cto.com/Article/201305/207362.html

http://suky.iteye.com/blog/713687

http://www.tuicool.com/articles/iIbM7n

http://cnzhx.net/blog/add-a-ssl-ca-to-firefox/

https://my.oschina.net/itblog/blog/651434  (特别推荐)

如无特殊说明,文章均为本站原创,转载请注明出处。
  • 转载请注明来源:使用OpenSSL自签发服务器https证书
  • 本文永久链接地址:http://qyh.name/cms/192/%e4%bd%bf%e7%94%a8openssl%e8%87%aa%e7%ad%be%e5%8f%91%e6%9c%8d%e5%8a%a1%e5%99%a8https%e8%af%81%e4%b9%a6/

该文章由 发布

秦始皇二一四
一个纯自学的伪技术宅,对于互联网、网络游戏以及相关交叉领域充满持续性的兴趣,对于编程、网页开发有极大兴趣,自学并主动实践了以PHP+mysql为载体的网站开发,并持续学习、完善中。 有关网站相关的更多信息请点击这里