一个SSL证书在线转换工具以及IIS7环境下开通https的方法,


衔接上一篇文章,提到了公司只能提供 Nginx 下的 SSL 证书,却要在 IIS 里面开启 https 这个问题。本来想去申请上次分享的沃通免费 SSL 证书。结果发现我并没有域名控制权,只好作罢。

转念一想,既然没有那我就生成一个好了!于是在百度搜索:pem to pfx (pem 是 nginx 下的证书格式,pfx 是 IIS7 下的证书格式)、SSL 证书转换等关键词。结果只搜到从 pfx 到 pem 的转换,而且是通过 openssl 和一大堆麻烦的步骤!

我是一个很懒的人,所以并不想在这棵树上吊死,于是到谷歌搜一下老外的工具。我深知在谷歌搜老外的最好是用英文,于是直接搜索 pem to pfx,果然一下就被我找到了:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

Ps:要是不会翻谷歌,可以用谷粉搜搜引擎(自己百度地址),和谷歌一样的结果。

一、证书转换

1、在线转换

我随便点开第一个发现就可以成功转换!下面是简单分享:

工具地址:https://www.sslshopper.com/ssl-converter.html

简单步骤:

①、选择转换后的格式(Type To Convert To),这里我选择 IIS 专用的 pfx:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

②、选择后栏位即刻发生改变,这时候需要上传 nginx 下的*.pem 和*.key2 个证书相关文件,然后输入你自定义的证书密码,最后点击最下面的蓝色按钮(Convert Certificate)即可下载到转换后的 pfx 证书了!

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

2、通过一些网站来实现

宝塔

上传证书后然后下载证书就可以看到多种平台的文件了。

当然很多支持https平台都有这个功能

3、命令行

Apache使用的SSL证书是.crt格式,如果你的网站从Apache换到了windows主机的iis上,这个时候要将原来的证书放到iis上使用,是不能够直接使用这个证书的,你首先要将.crt格式的证书转换成.pfx格式,这个可以通过一句命令在Linux主机上完成转换

openssl pkcs12 -export -out ssl2_me.pfx -inkey ssl2_me.key -in ssl2_me.crt

运行命令后,将会提示你输入两次相同的密码,你可以设置一个密码,你在iis上导入证书的时候将会用到。
上面命令中的ssl2_me.crt 替换成你自己的证书文件名, ssl2_me.key替换成你自己的key文件名,ssl2_me.pfx替换成你自己的pfx证书名。

二、导入证书

之前分享过在Linux 服务器下开启 https 的方法,而这次是 IIS,所以也简单分享一下。

①、添加证书管理

IIS 服务器->开始->运行->输入 MMC->确定后弹出如下界面->点击文件->选择添加/删除管理单元:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

②、下拉左边列表,找到证书并添加:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

③、选择计算机账户:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

④、跟着向导继续下一步并完成后,刚刚的 MMC 控制界面就可以看到【证书】选项了,如图点开个人选项,并右键证书,在所有任务里面选择导入:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

⑤、在弹出的界面的右下角,选择个人信息交换 pfx 格式,并选择刚刚通过在线转换得到的 pfx 证书:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

⑥、后面继续跟着向导操作直到导入成功(导入时需要输入之前设置的证书密码),刷新管理界面看到证书即可。

三、分配证书

①、打开 IIS7.0 管理器面板,找到待部署证书的站点,点击“绑定”如图:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

②、选择“绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”,SSL 缺省端口为 443 端口,如图:

分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法

确定后,就成功了,你可以通过 https 访问该站点测试效果。当然 https 页面里面是不允许出现 http 资源的,否则浏览器会自动拦截。解决方法就是讲这些 http 资源全改成 https 资源或者将 http://**.js 改成 ://**.js 这种灵活的相对路径,当然前提是这个资源支持 https 协议。

好了,就分享这么多,比较简单的经验,希望能节省不少苦逼的转换和设置时间!

您可能感兴趣的文章:
  • Nginx CertBot配置HTTPS泛域名证书Debian及常见问题
  • python脚本监听域名证书过期时间并通知消息到钉钉(最新推荐)
  • shell脚本检查域名证书是否过期的流程分析
  • iis提示尚未创建默认SSL站点,若要支持不带SNI 功能的浏览器,建议创建一个默认SSL站点
  • IISCrypto(SSL/TLS一键配置工具) iis服务器如何开启tls v1.2协议
  • IIS站点绑定/切换SSL证书的实现
  • IIS10服务器安装SSL证书的图文教程
  • iis服务器如何安装ssl证书
  • IIS服务器配置阿里云https(SSL)证书的方法
  • Microsoft iis服务器安装ssl证书(https)的简单方法
  • IIS绑定SSL证书的方法(图文详解)
  • 制作能在nginx和IIS中使用的ssl证书
  • 在win2008 r2 英文版 IIS7.5上配置Https,SSL的方法
  • 有了SSL证书,如何在IIS环境下部署https
  • startssl申请SSL证书 并且配置 iis 启用https协议
  • win2000服务器在IIS中使用SSL配置HTTPS网站
  • IIS7下配置SSL的方法分析
  • World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法
  • windows server 2019 IIS10配置SSL或更新域名证书(https)

相关内容