核心是建立企业自有pki体系,把根证书可信地推送到终端,并让终端用它验证内网服务身份。不靠商业ca,全程自主可控。第一步:搭建内部证书颁发机构(ca)这是整个信任链的起点。推荐使用windows server自带的ad cs角色,部署为“企业根ca”: 在域控制器或专用服务器上安装“active directory证书服务”角色 配置时选择“企业ca”类型、“根ca”层级,确保自动将ca证书发布到域内所有计算机的“受信任的根证书颁发机构”存储区 若无域环境,可用openssl离线搭建:生成带密码保护的私钥(openssl genrsa -des3 -out root.key 2048),再签发自签名根证书(openssl req -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.crt)第二步:为内网服务签发并部署服务器证书服务器证书必须由上一步的根ca签发,且包含正确的主题名称和备用名称: 为目标web服务器、api网关、teams后台等生成csr(证书签名请求),关键要填对cn(如intranet.contoso.local)和subjectaltname(支持ip地址和多个域名) 用根ca私钥和证书签署该csr,输出pem格式的服务器证书
核心是建立企业自有pki体系,把根证书可信地推送到终端,并让终端用它验证内网服务身份。不靠商业ca,全程自主可控。
第一步:搭建内部证书颁发机构(CA)
这是整个信任链的起点。推荐使用Windows Server自带的AD CS角色,部署为“企业根CA”:
- 在域控制器或专用服务器上安装“Active Directory证书服务”角色
- 配置时选择“企业CA”类型、“根CA”层级,确保自动将CA证书发布到域内所有计算机的“受信任的根证书颁发机构”存储区
- 若无域环境,可用OpenSSL离线搭建:生成带密码保护的私钥(openssl genrsa -des3 -out root.key 2048),再签发自签名根证书(openssl req -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.crt)
第二步:为内网服务签发并部署服务器证书
服务器证书必须由上一步的根CA签发,且包含正确的主题名称和备用名称:
- 为目标Web服务器、API网关、Teams后台等生成CSR(证书签名请求),关键要填对CN(如intranet.contoso.local)和subjectAltName(支持IP地址和多个域名)
- 用根CA私钥和证书签署该CSR,输出PEM格式的服务器证书(server.crt)和完整证书链(含中间证书,如有)
- 将server.crt与对应私钥(server.key)合并为PFX文件,导入IIS、Nginx或应用服务的本地证书存储;注意IIS6等老系统只认SHA-256 RSA证书,不支持ECDSA
第三步:把根证书分发到全网终端
终端只有信任根CA,才会接受它签发的所有服务器证书。方式取决于环境:
- 域环境(推荐):通过组策略(GPO)下发。路径为“计算机配置 → 安全设置 → 公钥策略 → 受信任的根证书颁发机构”,右键导入根证书文件(.cer/.crt)。策略链接到目标OU后,终端执行gpupdate /force即可生效
- 非域环境(Mac/Win/macOS/Linux):Mac需双击.cer文件→选“系统”钥匙串→展开“信任”设为“始终信任”;Linux可将根证书复制到/usr/local/share/ca-certificates/后运行update-ca-certificates;Windows可配合PowerShell脚本或MDM工具批量导入
第四步:验证通信是否真正安全
部署完成后不能只看“锁图标”,要确认底层机制已启用:
- 浏览器访问https://内网地址,点击地址栏锁图标→查看证书路径,确认“颁发者”是你自己的CA名称,且状态为“有效”
- 用openssl s_client -connect 内网地址:443 -servername 域名检查TLS握手是否成功、返回的证书是否匹配预期
- 对EAP-TLS类Wi-Fi或WCF服务,还需确认客户端也安装了用户证书(由同一CA签发),实现双向认证











