必须先部署并配置CA证书服务,否则IIS无法签发受信SSL证书;独立根CA不依赖域,适用于内网测试,需通过certsrv Web界面或证书颁发机构控制台提交、审核、下载证书,并将根证书导入客户端信任库。

要在Windows内网环境中为IIS网站颁发可信任的SSL证书,必须先在域内一台Windows Server上部署并配置证书服务(CA),否则IIS无法生成或签发受客户端信任的证书;直接跳过CA安装而仅在IIS中申请“证书请求”,最终只能得到未签名的CSR文件,无法启用HTTPS。
安装证书服务(独立根CA)
进入“控制面板 → 程序和功能 → 启用或关闭Windows功能”,勾选“证书服务”→点击“确定”后等待安装完成。安装过程中会提示选择CA类型,【必须选“独立根CA”】——域环境若已存在企业CA,才考虑“企业CA”;但内网测试或无域场景下,“独立根CA”是唯一可行选项,它不依赖Active Directory,也不强制要求域名解析。
填写CA识别信息时,“公用名称”可填任意易识别名(如“Intranet-Root-CA”),证书有效期建议设为3650天(10年),避免频繁更新;数据库路径保持默认即可,无需手动修改。
安装完成后,系统自动创建“证书颁发机构”管理工具,并在IIS中新增一个名为“CertSrv”的虚拟目录——该目录即为Web端证书申请入口,地址形如 http://[服务器IP]/certsrv。
为IIS网站创建证书请求文件
打开“IIS管理器”,右键目标网站(如“默认网站”)→“属性”→切换到“目录安全性”选项卡→点击“服务器证书”按钮。
在“IIS证书向导”中选择“新建证书”→下一步→选择“现在准备证书请求,但稍后发送”→下一步。
填写单位信息时,“站点公用名称(CN)”字段【必须填IIS实际访问所用的主机名或IP】:如果员工用 https://intranet 访问,就填 intranet;如果用 https://192.168.1.100,就填 192.168.1.100。填错会导致浏览器报“NET::ERR_CERT_COMMON_NAME_INVALID”。
密钥长度选2048位(兼容性好),地理信息可全留空或填占位符(如CN/BJ/XX/XX/XX/Intranet),最后指定CSR文件保存路径(如C:\cert\intranet.csr)→完成。
提交请求并签发证书
方法一:通过Web界面提交
用IE或Edge以管理员身份打开 http://[CA服务器IP]/certsrv→点击“申请一个证书”→选择“高级证书申请”→点击“使用base64编码的CSP(Microsoft Strong Cryptographic Provider)…”→粘贴刚才生成的intranet.csr全文(含-----BEGIN CERTIFICATE REQUEST-----和-----END CERTIFICATE REQUEST-----)→点击“提交”。
方法二:通过证书颁发机构控制台审核
打开“管理工具 → 证书颁发机构”→左侧展开“挂起的申请”,找到刚提交的记录→右键→“所有任务 → 颁发”。此时证书自动移入“颁发的证书”节点,状态变为“有效”。
回到Web申请页,点击“查看挂起的证书申请的状态”→找到对应申请→点击“下载证书”链接,保存为intranet.cer(注意不是.crt,是.cer格式)。
在IIS中完成证书绑定
回到IIS网站属性的“目录安全性”选项卡→再次点击“服务器证书”→选择“处理挂起的申请并安装证书”→浏览并选中刚下载的intranet.cer文件→完成。
接着点击“服务器证书”→在列表中选中刚安装的证书→点击右侧“编辑绑定”→在“网站绑定”窗口中点击“添加”→类型选“https”,IP地址选对应网卡,端口443,SSL证书选中该条目→确定。
重启IIS服务(命令行执行 iisreset),用https://[填写的CN值]访问,浏览器地址栏应显示锁形图标且无安全警告——前提是客户端已将CA根证书(certs/ca.cert.pem或从“证书颁发机构”导出的根证书)安装到“受信任的根证书颁发机构”存储区。


















