文章

winserver当CA给内网服务器签发数字证书

安装AD域控制器

准备

配置好固定ip,重命名计算机名

添加角色与功能

添加功能,勾选active directory domain service

179.1.png

一路下一步。点击install

179.2.png

点击promote this server to a domain controller

179.3.png

选择add a new forest,然后输入域名

179.4.png

设定密码

179.5.png

点击next

179.6.png

点击next

179.7.png

点击next

179.8.png

点击install

179.9.png

配置证书服务

添加功能,勾选active directory certificate service

179.10.png

勾选certification authority和certification authority web enrollment

179.11.png

点击install

179.12.png

点击close

179.13.png

点击configure active directory certificate service on the destination server

179.14.png

点击next

179.15.png

勾选certification authority和certification authority web enrollment

179.16.png

选择enterprise ca

179.17.png

选择root ca

179.18.png

勾选create a new private key

179.19.png

加密算法这里默认

179.20.png

点击next

179.21.png

选择CA的到期时间

179.22.png

点击next

179.23.png

点击configure

179.24.png

实例:linux用openssl生成密钥,再由winserver当作CA签发证书
内网服务器(linux)生成私钥和证书请求文件
生成web服务器的私钥

openssl genrsa -out server.key 2048

使用私钥生成证书请求文件(带SAN扩展属性)

openssl req -new \
    -sha256 \
    -key server.key \
    -reqexts SAN \
    -config <(cat /etc/pki/tls/openssl.cnf \
        <(printf "[SAN]\nsubjectAltName=DNS:jumpserver.ad.com ")) \
-out server.csr

chrome内核的浏览器,开始验证SAN(Subject Alternative Name) 字段,没有san字段,就认为不安全了。
SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。

Country Name:国家代码,比如中国就是CN
State or Province Name:省名称,比如浙江是填zhejiang
Locality Name:城市名称,比如宁波是填ningbo
Organization Name: 机构名称,一般参考企查查看到的公司工商信息的英文名
Organizational Unit Name: 机构单位名称,填写SSL证书所属的公司部门
Common Name: 一般填写网站的域名

访问http://ip /certsrv ,申请证书,提交高级证书申请

179.25.png 179.26.png

将生成的csr文件复制,选择web server

179.27.png

下载

179.28.png

配置dns

添加A记录

179.29.png 179.30.png

客户端加域

客户端加域后会自动添加CA证书到信任列表
打开运行,输入certmgr.msc

179.31.png

浏览器访问正常

179.32.png

修改有效期时间

对于企业 CA,默认注册表设置为两年。对于独立的 CA,默认注册表设置为一年。

改注册表

HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/CertSvc/Configuration/
修改ValidityPeriodUnits内的数值
然后执行net stop certsvc,net start certsvc
改完发现没有生效,原因是服务器证书模板的优先级高于注册表,所以应该修改证书模板,而且如果注册表的时间和模板上的时间不一致,最后生效的是取数值最小的

改模板

179.33.png

复制模板

179.34.png

改下名字和时间

179.35.png

添加新建的模板

179.36.png 179.37.png

License:  CC BY 4.0