一个SSL证书在线转换工具以及IIS7环境下开通https的方法
<p>衔接上一篇文章,提到了公司只能提供 Nginx 下的 SSL 证书,却要在 IIS 里面开启 https 这个问题。本来想去申请上次分享的沃通免费 SSL 证书。结果发现我并没有域名控制权,只好作罢。</p><p>转念一想,既然没有那我就生成一个好了!于是在百度搜索:pem to pfx (pem 是 nginx 下的证书格式,pfx 是 IIS7 下的证书格式)、SSL 证书转换等关键词。结果只搜到从 pfx 到 pem 的转换,而且是通过 openssl 和一大堆麻烦的步骤!</p>
<p>我是一个很懒的人,所以并不想在这棵树上吊死,于是到谷歌搜一下老外的工具。我深知在谷歌搜老外的最好是用英文,于是直接搜索 pem to pfx,果然一下就被我找到了:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563010.png" width="auto" /></p>
<p>Ps:要是不会翻谷歌,可以用谷粉搜搜引擎(自己百度地址),和谷歌一样的结果。</p>
<h2>一、证书转换</h2>
<h3>1、在线转换</h3>
<p>我随便点开第一个发现就可以成功转换!下面是简单分享:</p>
<p><strong>工具地址:</strong><a href="https://www.sslshopper.com/ssl-converter.html" rel="external nofollow"target="_blank">https://www.sslshopper.com/ssl-converter.html</a></p>
<p><strong>简单步骤:</strong></p>
<p>①、选择转换后的格式(Type To Convert To),这里我选择 IIS 专用的 pfx:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563011.png" width="auto" /></p>
<p>②、选择后栏位即刻发生改变,这时候需要上传 nginx 下的*.pem 和*.key2 个证书相关文件,然后输入你自定义的证书密码,最后点击最下面的蓝色按钮(Convert Certificate)即可下载到转换后的 pfx 证书了!</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563012.png" width="auto" /></p>
<p>2、通过一些网站来实现</p>
<p>宝塔</p>
<p><img alt="" src="https://img.jbzj.com/file_images/article/202402/202402201613159.png" /></p>
<p>上传证书后然后下载证书就可以看到多种平台的文件了。</p>
<p>当然很多支持https平台都有这个功能</p>
<h3>3、命令行</h3>
<p>Apache使用的SSL证书是.crt格式,如果你的网站从Apache换到了windows主机的iis上,这个时候要将原来的证书放到iis上使用,是不能够直接使用这个证书的,你首先要将.crt格式的证书转换成.pfx格式,这个可以通过一句命令在Linux主机上完成转换</p>
<div class="jb51code"><pre class="brush:bash;">openssl pkcs12 -export -out ssl2_me.pfx -inkey ssl2_me.key -in ssl2_me.crt</pre></div>
<p>运行命令后,将会提示你输入两次相同的密码,你可以设置一个密码,你在iis上导入证书的时候将会用到。<br />上面命令中的ssl2_me.crt 替换成你自己的证书文件名, ssl2_me.key替换成你自己的key文件名,ssl2_me.pfx替换成你自己的pfx证书名。</p>
<h2>二、导入证书</h2>
<p>之前分享过在Linux 服务器下开启 https 的方法,而这次是 IIS,所以也简单分享一下。</p>
<p>①、添加证书管理</p>
<p>IIS 服务器->开始->运行->输入 MMC->确定后弹出如下界面->点击文件->选择添加/删除管理单元:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563013.png" width="auto" /></p>
<p>②、下拉左边列表,找到证书并添加:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563014.png" width="auto" /></p>
<p>③、选择计算机账户:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563015.png" width="auto" /></p>
<p>④、跟着向导继续下一步并完成后,刚刚的 MMC 控制界面就可以看到【证书】选项了,如图点开个人选项,并右键证书,在所有任务里面选择导入:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563016.png" width="auto" /></p>
<p>⑤、在弹出的界面的右下角,选择个人信息交换 pfx 格式,并选择刚刚通过在线转换得到的 pfx 证书:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563017.png" width="auto" /></p>
<p>⑥、后面继续跟着向导操作直到导入成功(导入时需要输入之前设置的证书密码),刷新管理界面看到证书即可。</p>
<h2>三、分配证书</h2>
<p>①、打开 IIS7.0 管理器面板,找到待部署证书的站点,点击“绑定”如图:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563018.png" width="auto" /></p>
<p>②、选择“绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”,SSL 缺省端口为 443 端口,如图:</p>
<p><img alt="分享一个SSL证书在线转换工具,以及IIS7环境下开通https的方法" height="auto" src="https://img.jbzj.com/file_images/article/202402/2024022016563019.png" width="auto" /></p>
<p>确定后,就成功了,你可以通过 https 访问该站点测试效果。当然 https 页面里面是不允许出现 http 资源的,否则浏览器会自动拦截。解决方法就是讲这些 http 资源全改成 https 资源或者将 http://**.js 改成 ://**.js 这种灵活的相对路径,当然前提是这个资源支持 https 协议。</p>
<p>好了,就分享这么多,比较简单的经验,希望能节省不少苦逼的转换和设置时间!</p>
頁:
[1]