局域网内多台机器使用自签发证书架设https网站二:实施

栏目: 服务器 · 发布时间: 6年前

内容简介:前文再续,书接上一回。上一篇文章说了生成根证书应该有许多种:1、如果操作系统是server,可以

前文再续,书接上一回。上一篇文章说了 局域网内多台机器使用自签发证书架设https网站的原理 ,现在接着介绍实现方法和步骤:

1、以一台机器作为根证书服务器(其实就是CA了),负责生成根证书

2、所有网站的证书,都由这张根证书来签发

3、访问所有网站的客户端,都导入这张根证书到自己的“受信任的根证书颁发机构”里

一、生成根证书

生成根证书应该有许多种:

1、如果操作系统是server,可以 搭建CA服务器

参考文章:《搭建CA服务器》

我搭建了,但因为刚开始的时候思路没有整理清晰,乱试一气,没有试成功。但现在想起来,应该也可以的

2、用makecert.exe这是微软为WIN7或以前的操作准备的证书生成工具,挺好用的。现在WIN10和win2016 server之后用的是一个叫:New-SelfSignedCertificate 的工具,在power shell里面运行的命令。名字真长,看上去就头大。各种参数也很长,完全不像一个命令行工具。微软的好多东西,真是越做越烂。我因为没有WIN10和win2016 server,所以就没试。其实win201 server也有这个工具,但参数极少,完全没办法用。

makecert.exe 生成根证书的方法是:

makecert -r -pe -n "CN=WebSSLTestRoot" -b 08/01/2018 -e 08/01/2054 -ss root -sr localmachine -len 2048

这样就生成了一个名为“WebSSLTestRoot”的根证书,这个根证书有效期为2018-08-01到2054-08-01(注意日期一定要双位,不足则补零,否则语法报错),并且安装到本机“受信任的根证书颁发机构”里去。(详见拙作《https的证书》)

但是,makecert也许是版本太旧了,它生成的证书没有 使用者备用名称(subject Alternative Name)这个属性。

缺乏这个属性,IE没有问题,但新版本的谷歌浏览器(Chrome 58 及以上版本)是根据这个属性来判断身份的,没有的话就会说“服务器无法证明它就是 * ”,因而标为不安全,报NET::ERR_CERT_COMMON_NAME_INVALID 的错。

对根证书来说,没有这个属性,我没测试过是否有影响,但网站证书的话,谷歌真的不行。所以,makecert已经不能再用了,至少不能用于生成网站证书。详见参考资料:

错误:“主题备用名称缺失”或 NET::ERR_CERT_COMMON_NAME_INVALID 或“您的连接不是私密连接”

现在要隆重介绍第三种工具

3、itisscg.exe

这是一个用.NET开发的证书生成工具,图形界面。这个 工具 小巧玲珑,只有200多K,需要.NET4.6的支持。

官方网址: http://www.itiverba.com/en/software/itisscg.php

生成根证书步骤:

1)输入根证书的名称Subject,存储位置为本机(区别于当前用户)

局域网内多台机器使用自签发证书架设https网站二:实施

Subject Alternative Name不用填(由此可知,用makecert.exe来生成根证书应该也是可以的)

2)

局域网内多台机器使用自签发证书架设https网站二:实施

3)

局域网内多台机器使用自签发证书架设https网站二:实施

这样设置,按下生成按钮后,这个根证书,会在本机的个人证书里生成,然后自动拷贝到 “受信任的根证书颁发机构” 里。

本来根证书在“受信任的根证书颁发机构” 里有一份就足够了,不过本机的个人证书里这份也不要删掉。因为用来签发网站证书的时候要用到。

另外,生成证书的时候,系统会弹出这个证书给我们预览,预览界面下面有个【安装证书】按钮,不用理会,不必再点击。

二、生成网站证书有了根证书,就可以用于签发网站证书了。签发的网站证书导入网站服务器,然后客户端导入根证书,则客户端的浏览器就能够信任网站了。就是这么简单。

如上所述,生成网站证书不能用makecert.exe,要用itisscg.exe:

1)输入subject 和 subject alternative name,存储位置为本机(区别于当前用户)

局域网内多台机器使用自签发证书架设https网站二:实施

2)

选择根证书进行签发

局域网内多台机器使用自签发证书架设https网站二:实施

3)

我的情况是,网站跟CA不是同一台机,因此签发的网站证书没必要装在CA这台机器上,因此要将证书输出到文件里,同时删掉本机存储的这个证书。估计它的流程是不管3721,都要先生成到本机证书存储区域。

局域网内多台机器使用自签发证书架设https网站二:实施

然后将这个证书文件,拷到网站服务器,导入到 “本机”的“个人证书”,然后在IIS里与网站的https绑定即可。方法为:

运行 mmc 命令

局域网内多台机器使用自签发证书架设https网站二:实施

添加证书管理单元

局域网内多台机器使用自签发证书架设https网站二:实施 局域网内多台机器使用自签发证书架设https网站二:实施 局域网内多台机器使用自签发证书架设https网站二:实施 局域网内多台机器使用自签发证书架设https网站二:实施

鼠标右键,导入网站证书。

三、客户端导入根证书将根证书文件拷贝到客户端机器,在“本机”的“受信任的根证书颁发机构” 里导入即可。

四、网站多张证书

依我看,开发过程中,一个网站往往有两张以上的证书。为什么这么说呢?我们开发的时候,访问本机的网站,一般都用localhost,而别人访问我们,肯定要用IP。虽然证书里的subject alternative name 支持多个域名和IP,但如果是localhost与IP混在一起的话,谷歌浏览器支持,IE又不干了,它会警告说这张证书是颁布给别的网站的。所以localhost要与IP分开成两张证书。

局域网内多台机器使用自签发证书架设https网站二:实施

相应地,https要分开绑定:

局域网内多台机器使用自签发证书架设https网站二:实施 局域网内多台机器使用自签发证书架设https网站二:实施

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

超级用户

超级用户

[美] 艾迪•尹 / 王喆,余宁 / 中信出版集团 / 2017-9 / 49.00

《超级用户》是一本可以让你和你的公司实现超常规增长的神奇的书。 多数人只有一个订书机,但有一天,全球著名市场调研公司尼尔森的高管艾迪•尹在和办公用品供应商的合作中发现,订书机的“死忠粉”们,平均每人有8个订书机。令人意想不到的是,相比那些需要更换订书机或遗失订书机的“普通”用户,他们的需求更强,购买第九个订书机的可能性更大。 有些人无肉不欢,有些人爱做手工,有些人痴迷于美国女孩玩偶。这......一起来看看 《超级用户》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具