在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
OpenSSL 下载安装
Win64 OpenSSL v1.1.1k Windows 版本下载地址:超链接登录可见。
安装完成后,设置到环境变量,略。
验证是否安装成功
新建一个文件夹, 将 C:\OpenSSL-Win64\bin\cnf\openssl.cnf (根据自己实际情况)拷贝一份出来, 后面需要进行修改, 并且根据这个配置生成证书, 例如我拷贝到了:C:\temp\ssl
编辑复制后的 openssl.cnf 文件, 里面有几个地方需要修改,如下:
完整的配置如下:
上面的 openssl.cnf subjectAltName 所示, 就是加入了可选域名和可选ip, 后面会避免浏览器报出"Subject Alternative Name missing(没有可选名称)"的错误。
使用 openssl 生成证书
cmd切换到我们刚才的新建文件夹,执行命令如下:
命令要填入各种密码, 需要记录下来, 并且省份,城市等, 最重要的是Common Name填入你网站的Ip或者域名, 并且上面的alt_names也要配置你的Ip或者域名。
ca.crt生成出来之后可以双击, 打开之后查看详细信息, 若能看到"使用者可选名称", 则表示正常,如下图:
IIS 配置证书
执行命令生成pfx文件,提供给IIS使用,如下:
将 ca.pfx 复制到 IIS 服务器上面,操作如下:
尝试通过浏览器访问站点,会有以下警告:
查看证书-详细信息-复制到文件, 选择一个保存位置, 然后双击安装到“受信任的根证书颁发机构”, 重启浏览器即可。
SLB 配置证书
openssl 刚才生成的 ca.crt 可以理解为公钥证书,ca.key 是私钥证书,但是 ca.key 包含密码。
----BEGIN ENCRYPTED PRIVATE KEY----- 此类注释就是包含密码
去除密码命令如下:
去除后,将公钥和私钥上传到阿里云即可。
(完)
|