• 售前

  • 售后

热门帖子
入门百科

使用openssl 生成免费证书的方法步骤

[复制链接]
天剑和nee 显示全部楼层 发表于 2021-10-26 12:51:13 |阅读模式 打印 上一主题 下一主题
一:什么是openssl? 它的作用是?应用场景是什么?
即百度百科说:openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通讯,它可以制止信息被窃听到。
SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供机密性传输。Netscape(网景)公司在推出第一个Web欣赏器的同时,提出了SSL协议尺度。其目的是包管两个应用间通讯的保密性和可靠性,可在服务器端和用户端同时实现支持。
由于在网络传输的过程中,网络的数据肯定要颠末wifi路由器对吧,那么我们通过路由器做些手脚我们就可以拿到数据,因此openssl的作用就是制止信息被窃听到。
那么openssl是如何包管信息不被窃听到呢?因此我们必要了解 非对称加密、数字署名、数字证书等一些根本概念的。
1.1 什么黑白对称加密?
非对称加密是用密钥对数据进行加密,然后我们可以使用另一个差异的密钥对数据进行解密。这两个密钥就是公钥和私钥。
我们根据私钥可以盘算出公钥,但是我们根据公钥盘算不出来私钥的。私钥一样平常是有服务器掌握的,公钥则是在客户端使用的。
注意:非对称加密的详细算法我们这边不做研究。
1.2 什么是数字署名?
根据百度百科说:数字署名(又可以叫公钥数字署名)是一种类似写在纸上的平凡的物理署名,但是使用了公钥加密范畴的技能实现,它是用于辨别数字信息的方法。数字署名有两种互补的运算,一个是用于署名,另一个是用于验证。
作用是:它会将报文使用肯定的HASH算法算出一个固定位数的摘要信息,然后使用私钥将摘要加密,然后会将刚才的报文一起发送给接收者,接收者会通过公钥将摘要解出来。也通过hash算法算出报文摘要,假如两个摘要同等,阐明数据未被篡改,阐明数据是完备的。
1.3 什么是数字证书?
根据百度百科说:数字证书是互联网通讯中标记通讯各方身份信息一串数字。提供了一种在Internet上验证通讯实体身份的方式。
它是由CA颁发给网站的一种身份的方式。它内里包罗了该网站的公钥、有效时间、网站的地址、及 CA的数字署名等。
作用是:它是使用CA的私钥将网站的公钥等信息进行了署名,当客户端哀求服务器端的时间,网站会把证书发给客户端,客户端先通过CA的数字署名校验CA的身份,来证明证书的真实完备性。
了解到上面的非对称加密、数字署名、数字证书的概念之后,我们来看看它是如何来包管数据没有被伪造的:
SSL 实现认证用户和服务器
现在我们来想一个标题,假如我们现在访问我们的博客园网站,我们怎么知道访问的是真博客园还是假博客园呢?为了确定我们的博客园网站的服务器有没有被伪造,在SSL中有这么一个规则:假如我们向服务器发出哀求后,服务器必须返回它的数字证书给接收者,当我们拿到数字证书之后,我们可以根据内里的ca数字署名,来查验数字证书的合法性。假如我们现在能够证明数字证书是博客园的,但是不代表发送给我们证书的服务器就是博客园的呢?为了解决这个标题,实在在我们拿到的证书内里会带有博客园的公钥,在之后的通讯中,客户端会使用该公钥加密数据给博客园服务器,博客园服务器必须使用私钥才能够解出内里的数据。只要他能够解出数据出来,阐明他是合法的,否则的话,是伪造的。假如是伪造的,那么就不能通讯。因此SSL就解决了服务器认证的标题了。
加密数据在通讯过程中如何防止数据不被窃取呢?
客户端第一次给服务器发送哀求的时间(拿到证书之前的谁人哀求),会在哀求内里放一个随机数(比如叫A),服务器的返回证书的相应里也会带一个随机数(比如叫B), 客户端拿到证书后,会使用公钥加密一个随机数(比如叫C)发送给服务器,因此客户端,服务器就有三个随机数:A、B、C。双方使用这些随机数和一个雷同的算法会天生一个密钥,以后所有的通讯都使用这个对称密钥来进行的。
一样平常环境下,这三个密钥不大概同时被泄漏的,由于它是由三个随机数随机天生的。而且此中一个随机数使用了公钥加密的。因此是通过这种方式来包管数据不被窃取的。
上面都是在网上看到的一些概念性标题,简单的明白下就好了,知道是这么个概念就行了,而我们的openssl是SSL的实现版。因此openssl的作用制止信息被窃取到,它是通过上面的知识点来做到的。
openssl的应用场景:
在使用http网站中,我们经常看到网站会有一些广告什么的,这些广告实在不是网站自己放上去的,而是中间的运营商在中间篡改了内容导致的。现在我们可以使用https技能(基于openssl)来对数据进行加密的。它能包管数据不被篡改。
二:使用openssl天生免费证书
1 使用openssl工具天生一个RSA私钥
使用下令:
  1. openssl genrsa -des3 -out server.key 2048
复制代码
如上:des3 是算法,2048位强度(为了保密性)。 server.key 是密钥文件名 -out的含义是:指天生文件的路径和名称。
如下所示:

我们检察刚刚天生的私钥。使用下令如下:
  1. openssl rsa -text -in server.key
复制代码
如下图所示:

继续检察 server.key 使用下令:cat server.key, 如下图所示:

2. 创建证书署名哀求CSR文件
使用下令如下:
  1. openssl req -new -key server.key -out server.csr
复制代码
-key的含义是:指定ca私钥
-out的含义是: server.csr 天生证书文件
如下所示:

运行如上下令后,天生CSR时会要求填入以下信息:
  1. Country Name (2 letter code) []:CN            // 输入国家代码,中国填写 CN
  2. State or Province Name (full name) []:HangZhou      // 输入省份,这里填写 HangZhou
  3. Locality Name (eg, city) []:HangZhou           // 输入城市,我们这里也填写 HangZhou
  4. Organization Name (eg, company) []:tbj          // 输入组织机构(或公司名,我这里随便写个tbj)
  5. Organizational Unit Name (eg, section) []:tbj       // 输入机构部门
  6. Common Name (eg, fully qualified host name) []:*.abc.com // 输入域名,我这边是 (*.abc.com)
  7. Email Address []:tugenhua0707@qq.com           // 你的邮箱地址
  8. Please enter the following 'extra' attributes
  9. to be sent with your certificate request
  10. A challenge password []:123456              // 你的证书密码,如果不想设置密码,可以直接回车
复制代码
如上操作后,会在当前目录下天生以下两个文件:
server.key server.csr
如下图所示:

检察csr文件如下下令:
  1. openssl req -text -in server.csr -noout
复制代码
如下图所示:

3. 天生CA证书
  1. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
复制代码
x509的含义: 指定格式
-in的含义: 指定哀求文件
-signkey的含义: 自署名
如下图所示:

注意:如上server.crt 是证书持有人的信息,持有人的公钥,以及签订者的署名等信息。
4. 天生客户端证书
天生客户端证书与天生CA证书相似。
4.1. 先要天生私钥
使用下令:
  1. openssl genrsa -out client.key 2048
复制代码
如下图所示:

4.2 天生哀求文件
使用下令:
  1. openssl req -new -key client.key -out client.csr
复制代码
如下图所示:

4.3 发给ca署名
使用下令:
  1. openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.crt
复制代码
如下图所示:

以上就是本文的全部内容,希望对各人的学习有所帮助,也希望各人多多支持草根技能分享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作