手记。
- 启动服务器管理器,添加角色和功能。
- 选择AD证书服务。
- 选择证书颁发机构Web注册。
- IIS一般默认,或者再勾上.Net/CGI相应部分,WCF则需要在添加功能时选择http激活。
- 安装等好。
- CA配置:
- 选择证书颁发服务器;
- 右键属性,选择扩展选项卡;
- CRL添加:其他删掉,留下http部分,参照http项添加一个,替换掉
<ServerDNSName>
,例 :http://ca.**.**:81/CertEnroll/<CAName>.crl
,能定位吊销列表就行; - 授权信息访问:同上编辑,
http://ca.**.**:81/CertEnroll/<ServerDNSName>_<CaName>.crt
。 - 修改颁发年限:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\**
,ValidityPeriodUnits值改为A,十进制10; - 重启证书服务器。
- IIS配置:
- 服务器证书:创建申请时填写
*.XX.XX
,XX.XX为域名; - 证书颁发并导出为Base64格式,完成申请;
- CertEnroll虚拟目录“要求SSL”,去掉勾;
- CertSrv则是要求SSL,接受证书,现在设成必需就没法申请证书了;
- 关键:现在打开网页申请证书,密钥用法只有交换,申请格式只能PKCS10,需要修改asp代码;
- 搜索certrqma.asp,检索
if (0 == nSupportedKeyUsages)
,在前面插入一行代码nSupportedKeyUsages = 3;
,注意修改权限,将该asp文件所有者改为管理员,再将管理员的所有操作权限赋上; - CMC打开是在certsgcl.inc,检索
isClientAbleToCreateCMC
,将sUserAgent.indexOf("Windows NT 10.0")!=-1
也返回true; - 此处申请格式必须为PKCS10;
- 在网页中申请客户端验证证书,服务器颁发,将SSL设置为必需。
- 打开测试。