之前写过一篇《安全篇 ━━ windows2008自建证书、IIS配置https服务器及浏览器报错处理》,配置方法大同小异。
Windows Server 2016及更高版本的IIS内置了自己的证书管理器,不再需要安装和配置Active Directory证书服务,可以直接通过IIS Manager来管理服务器证书。使用IIS Manager可以方便地为IIS站点配置和安装SSL证书,也可以轻松地从各种证书颁发机构(CA)获取证书并将其绑定到IIS站点上。
IIS和证书可以同时安装,本文分开便于理解和区分。
IIS的安装参考本文《PHP开发日志 ━━ IIS7安装PHP8.0及多个版本如何同时存在一台服务器》中关于IIS组件的安装。
本文依旧按照老方法安装证书管理器,如果什么都不想管,那么直接划到“三、IIS配置证书”就行。
1. 打开服务器管理器,点击【添加角色和功能】
2. 以下步骤缺省点击【下一步】
3. 服务器角色需要勾选【Active Directory证书服务】并点击该项自动弹出的【添加功能】,然后继续点击【下一步】
4. 根据需要决定是否勾选【证书颁发机构Web注册】
我们这里只是用于iis配置https服务器,不需要在线注册,因此 不需要打勾。
如果打勾的话,那么点击该项后将弹出【添加功能】
5. 继续以下步骤缺省点击【下一步】。
6. 点击【安装】并等待安装完成。
如果启用了【证书颁发机构Web注册】,那么将会多加装如图内容
7. 在服务器管理器点击右上角提示,进行【配置目标服务器上的Active Directory证书服务】,然后点击【下一步】。
8. 角色服务配置需要将前两个选项【证书颁发机构】和【证书颁发机构**Web注册】 同时勾选,然后以下步骤缺省点击【下一步**】。
9. 这里证书有效期建议设置为50年,继续【下一步】直到配置完成。
1. 在IIS中打开【服务器证书】
2. 选择【创建自签名证书】
如果已经安装了证书管理器,那么界面中将已存在一个50年的证书
3. 取个好名字
证书存储理解为分类即可。
4. 点确定生成ssl证书
5. 打开网站的【绑定】
6. 添加ssl证书
选择【添加】
7. 选择https
类型,ssl证书,并点确定
8. https生成完毕
1. 浏览器打开https://127.0.0.1 点继续浏览网站
2. 能打开就说明成功了
目前这类证书默认情况下仅支持在edge、ie和firefox打开,谷歌浏览器会提示网站地址错误。
那怎么才能把这些签名证书导出呢?
1. 打开“证书管理器”
运行
=> certmgr.msc
2. 找到证书
有可能在个人
目录里,到时候自己找一下。
3. 导出证书
右键菜单
=> 所有任务
=> 导出
下一步
是,导出私钥
选中.pfx
,所有证书
输入密码
指定文件夹和文件名
点击完成
成功
目标位置看到.pfx
文件
1. 下载并安装openssl
这里就不写如何安装openssl了,可参考:《环境篇-Windows下安装OpenSSL》
下载地址:https://slproweb.com/products/Win32OpenSSL.html
也可以在csdn下载 v3.1.0版
:https://download.csdn.net/download/snans/87595254
2. 打开对话框输入命令
.pfx
文件复制到指定目录并分别执行两段openssl命令,会要求输入刚才导出时登记的密码。
方便起见,我直接把.pfx
文件复制到openssl安装目录下的\bin
文件夹里了,因为openssl.exe
真身就在这里~~
openssl pkcs12 -in 20230320ssl.pfx -out 20230320ssl.crt -nokeysopenssl pkcs12 -in 20230320ssl.pfx -out 20230320ssl.key -nocerts -nodes
3. 文件生成
打完收工~~
反向操作的请参考:如何把crt证书转换为pfx格式(灰常不错)
其它参考:
Windows下创建OpenSSL自签证书及将Windows已有证书pfx文件转化成key、crt文件
Windows Server 2016操作系统搭建自签名CA证书服务器(Microsoft Active Directory 证书服务 )