码迷,mamicode.com
首页 > Web开发 > 详细

使用OpenSSL生成证书并配置Https

时间:2018-03-16 18:44:35      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:.net   重要   进入   png   ssl   AC   发送   密码   作用   

1、密钥、证书请求、证书概要说明

在证书申请签发过程中,客户端涉及到密钥、证书请求、证书这几个概念。我们以申请证书的流程说明三者的关系。客户端(相对于CA)在申请证书的时候,大体上有三个步骤:

第一步:生成客户端的密钥,即客户端的公私钥对,且要保证私钥只有客户端自己拥有。

第二步:以客户端的密钥和客户端自身的信息(国家、机构、域名、邮箱等)为输入,生成证书请求文件。其中客户端的公钥和客户端信息是明文保存在证书请求文件中的,而客户端私钥的作用是对客户端公钥及客户端信息做签名,自身是不包含在证书请求中的。然后把证书请求文件发送给CA机构。

第三步:CA机构接收到客户端的证书请求文件后,首先校验其签名,然后审核客户端的信息,最后CA机构使用自己的私钥为证书请求文件签名,生成证书文件,下发给客户端。此证书就是客户端的身份证,来表明用户的身份。

2、安装OpenSSL

OpenSSL安装有两种方式,一种编译安装:https://bbs.csdn.net/topics/392193545?page=1

一种直接下载安装包安装(选择对应操作系统版本,文件大的那个): https://www.sslzhengshu.com/article/post-367.html

安装完成后,可以设置环境变量,也可以不设置环境变量,设置环境变量的好处是:在任意位置通过cmd命令行窗口都可以执行openssl命令,而没有设置环境变量则需要进入OpenSSL安装目录进行命令行的操作

3、生成证书

首先进入cmd 进入openssl的安装目录(以配置过环境变量的可以省略这一步)

用户证书的生成步骤:

生成私钥(.key)-->生成证书请求(.csr)-->用CA根证书签名得到证书(.crt)

 

1.建立文件夹

在openssl安装目录中新建 demoCA 目录,再在 demoCA目录内新建  newcerts目录

并且在 demoCA 文件夹内新建一个空的 index.text  文件

再建立一个 serial文件 里面写 01

技术分享图片

 

 

2.生成根证书

#生成私钥
openssl genrsa -des3 -out root.key 1024

输入命令,回车 会提示输入密码,我设定的密码是123456,之后只要是提示输入密码的,都默认是123456,同时可以看到openssl安装目录下多了一个root.key文件

技术分享图片

技术分享图片

# 生成根证书 并且 自签名
openssl req -new -x509 -key root.key -out root.crt -config C:\OpenSSL-Win64\bin\openssl.cfg

 

接下来会提示输入密码,还输入默认的密码就可以,接下来还会让输入一些基本信息

技术分享图片

 

 

但是只有红框部分的信息才是最重要的,其他都可以忽略不填,填完之后,发现openssl目录下又多了一个root.crt文件

 

技术分享图片

 

2、服务端证书生成

#生成私钥
openssl genrsa -des3 -out server.key 1024

同样也会提示输入密码

#生成服务端证书
openssl req -new -key server.key -out server.csr

提示输入密码,提示完成之后,又让你填写一大堆信息,跟生成root.csr是一样的,需要注意的一点是,这里填写的信息需要跟生成root.csr填写的信息要一致

技术分享图片

这个时候,我们看openssl的安装目录,发现多了两个文件,一个server.key 一个server.csr ,

技术分享图片

 

但是为什么这个server.csr为什么跟root.csr的图标不一样呢?(当然不仅仅是因为后缀名不一致的问题),主要是因为因为root.crt是经过签名的(自签名),而server.csr没有经过签名

接下来要做的就是让root.crt和root.key给server.csr进行签名(其实这个过程就是模拟,CA机构进行签名【那个要收费】)

3、使用root.crt和root.key给server.csr进行签名

 

#使用根证书进行签名
openssl ca -in server.csr -out server.crt -cert root.crt -keyfile root.key                                                            

 

使用OpenSSL生成证书并配置Https

标签:.net   重要   进入   png   ssl   AC   发送   密码   作用   

原文地址:https://www.cnblogs.com/kanyun/p/8583577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!