秦始皇二一四
停止思考是一种堕落

使用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

使用“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私钥,但一般不需要这一步:

openssl rsa -in ca.key -out ca_decrypted.key

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

openssl req -new -x509 -days 7305 -key ca.key -out ca.crt

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

openssl genrsa -des3 -out server.key 2048

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

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

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

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

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

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

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

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

openssl x509 -in ca.crt -outform DER -out ca.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  (特别推荐)

秦始皇二一四

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

赞(0) 打赏
版权声明:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 进行授权
文章名称:《使用OpenSSL自签发服务器https证书》
文章链接:https://www.qyh.name/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/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

觉得文章有用就打赏一下

非常感谢你的打赏,我们将继续努力提供更多优质内容,让我们一起创建更加美好的网络世界!(注意:私密文章打赏不代表可以获得查看权限)

支付宝扫一扫

微信扫一扫