1. windows 安装 openssl

下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

建议下载版本号小的, 之前下载3.0用不了。(可能自己电脑问题)文章最后给大家免费提供openssl的安装文件,放入了网盘,解决大家网络下载慢的bug!

随便下载一个好了,反正都是exe的,至于收费那是不可能的(土豪随意)。安装完成之后配置一下环境变量。把openssl安装路径bin的路径(例如 C:\OpenSSL-Win64\bin)加入到操作系统的系统环境变量Path中。

重启电脑(最好重启别偷懒,国外的软件大多都要重启电脑)

2. 创建文件夹:WorkSpace2021openssl(名字随意

3. 打开文件夹,WorkSpace2021openssl,按快捷键:Alt + F 弹出窗口:

输入openssl,进入openssl。如图:

4. 生成key+公钥 100年 1024 x509 ,名字 QD202004291844 随意

依次输入命令:

req -newkey rsa:1024 -nodes -keyout QD202004291844.key -x509 -days 36500 -out QD202004291844.cer

CN

SX

XA

YTKJ

YFZX

CNZZ (颁发者,名字随意)

 Email Address []: (写邮箱地址)

效果如图:

5. pfx文件生成 PKCS12

输入命令:pkcs12 -export -in QD202004291844.cer -inkey QD202004291844.key -out QD202004291844.pfx

Enter Export Password: 密码随意。
Verifying - Enter Export Password: 密码随意。

但要两次输入密码保持一致!

效果如图:

百度网盘提供,32位、64位,安装包。看你电脑位数选择。
链接:https://pan.baidu.com/s/1pR9JHw34ATLK1nB134rktA
提取码:Hour

科普一下 OpenSSL ,有时间可以了解一下。

什么是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)来对数据进行加密的。它能保证数据不被篡改。

Windows(32bit.64bit) OpenSSL生成数字证书pfx、cer。拒绝收费,(不需要编译openssl源代码,快速安装)相关推荐

  1. 用 openssl 生成数字证书

    以前用 windows 自带的 makecert 生成数字证书.这个命令有一些局限性,而且现在的 windows 也不支持了.网上查了一下,目前用的比较多的是开源工具 openssl.这个命令以前学习 ...

  2. Ubuntu使用OpenSSL生成数字证书详解

    在安全通信编程中有时我们会用到数字证书进行通信加密,那么如何生成自己的数字证书进行测试呢?下面是使用OpenSSL在Ubuntu环境生成数字证书的步骤: 一.安装openssl a)    略 二.生 ...

  3. ubuntu使用OpenSSL生成数字证书常见错误修改

    一.安装openssl     a)    略 二.生成ca证书     a)    创建一个证书目录,mkdir /home/liuzhigong/SSL     b)    将CA.sh拷贝到/h ...

  4. openssl与数字证书的使用

    Openssl与数字证书的使用详解 数字证书这个概念大家应该并不陌生,比如我们在利用Nginx提供https服务的时候需要我们去CA申请一 个包含我们的公钥信息.身份信息.数字签名的证书,再比如我们在 ...

  5. 利用openssl生成X509证书

    利用openssl生成X509证书 1.生成密钥 openssl genrsa -out test.key 2048 2.生成cert证书(sha512/sha256/sha1要根据实际算法) ope ...

  6. OpenSSL 生成 ssl 证书

    openssl 可以生成证书,但只是 "自制证书",我们自己来使用.因为我们生成的证书,不被各种浏览器认可,所以一般用于本机来测试.openssl 的介绍:https://segm ...

  7. java生成数字证书_java生成数字证书方法

    Java 中生成数字证书也很简单的. 1.创建证书 Java 中的 keytool.exe (位于 JDKBin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书 ...

  8. openssl 生成免费证书

    1.什么是openssl? 它的作用是?应用场景是什么?什么是openssl? 它的作用是?应用场景是什么? openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,它可以避免 ...

  9. 使用openssl生成crt证书

    使用openssl生成crt证书 检查是否安装了 openssl 创建证书密钥文件 server.key 创建证书申请文件:server.csr 备份一份服务器密钥文件 server.key.org ...

最新文章

  1. service 与chkconfig
  2. Docker 环境下部署 redash
  3. getchar的利用
  4. 2020 全球 JS 现状调查报告
  5. jaxb解析字符串xml_一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)的枚举
  6. 48session的生命周期
  7. about-ie下模拟input file上传功能失效
  8. bzoj1597 [Usaco2008 Mar]土地购买
  9. 我是WPF菜鸟之(4)---关于XAML与逻辑代码
  10. python 做界面时如何使图片保持透明背景_Python利用matplotlib生成图片背景及图例透明的效果...
  11. windows nslookup 查询域名并生成路由批处理
  12. Android美化插件,KWGT桌面插件美化
  13. python excel操作 bom_Python Pandas比较BOM表数据
  14. Linux储存结构与磁盘分区详解
  15. 计算机重复文件的快捷键是,excel重复上一个操作的快捷键是什么
  16. openwrt dnsmasq rebind_protection域名劫持保护
  17. 光功率 博科交换机_交换机查看光模块型号及收发光功率命令
  18. 计算机找不到WPS云盘,wps网盘在哪里打开及如何应用?
  19. Pycharm报错:FutureWarning: `distplot` is a deprecated function and will be removed in a future version
  20. redis-replicator使用的一点点心得

热门文章

  1. python命令找不到 pip 命令找不到解决方案
  2. 操作系统 --进程的异步性
  3. 风控ML[16] | 风控建模中怎么做拒绝推断
  4. Windows内核开发
  5. JavaWeb面试题2020(15题)
  6. 中国偏光太阳镜镜片市场趋势报告、技术动态创新及市场预测
  7. java网店源码_java 的电商系统的完整源码
  8. 虚拟机桥接模式无法联网
  9. 自建及商用CDN之间的多维度比较
  10. 署名用by还是from_【这个太有创意了】中国学者把自己名字PS到《Nature》杂志论文第一作者前面,放到自己简历里...