Windows Server 2016配置ADFS时SSL证书报错求助
ADFS安装配置错误排查(Windows Server 2016数据中心版)
问题现象
在Windows Server 2016数据中心版上安装配置ADFS的最后一步,遇到错误:the certificate specified doesn't meet the requirement(指定的证书不符合要求)。尝试相关命令后未解决,具体报错如下:
尝试的命令及报错
- 执行
Set-WebApplicationProxySslCertificate -Thumbprint "BC8374123E87A14C03FFF1EB7963631B76AE690C"时,报错:
Set-WebApplicationProxySslCertificate : The term 'Set-WebApplicationProxySslCertificate' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-WebApplicationProxySslCertificate -Thumbprint "BC8374123E87A14C03 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Set-WebApplicationProxySslCertificate:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
- 执行
Set-AdfsSslCertificate -Thumbprint BC8374123E87A14C03FFF1EB7963631B76AE690C时,报错:
Set-AdfsSslCertificate : The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state. At line:1 char:1 + Set-AdfsSslCertificate -Thumbprint BC8374123E87A14C03FFF1EB7963631B76 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Set-AdfsSslCertificate], CommunicationObjectFaultedException + FullyQualifiedErrorId : System.ServiceModel.CommunicationObjectFaultedException,Microsoft.IdentityServer.Management.Commands.SetSslCertificateComma nd
解决方案
第一步:排查证书本身是否符合ADFS要求
- 确认证书为SSL证书(非代码签名或其他类型),且包含以下属性:
- 增强密钥用法(EKU)必须包含
服务器身份验证(1.3.6.1.5.5.7.3.1) - 证书主体名称(Subject)或SAN(主题备用名称)需匹配ADFS服务的FQDN(如
fs.yourdomain.com) - 证书有效期未过期,由受信任的CA颁发(企业CA或公共CA均可)
- 证书已导入本地计算机的
个人\证书存储,且私钥存在(右键证书→所有任务→管理私钥,确认ADFS服务账户有读取权限)
- 增强密钥用法(EKU)必须包含
第二步:解决Set-WebApplicationProxySslCertificate命令不存在的问题
该命令属于Web Application Proxy模块,未安装对应角色会导致命令无法识别:
- 打开服务器管理器→添加角色和功能→勾选
远程访问→子角色勾选Web Application Proxy,完成安装 - 安装后重启服务器,再重新执行该命令
第三步:解决ADFS服务通信异常(Faulted state)
ADFS服务处于故障状态会导致Set-AdfsSslCertificate命令失败,按以下步骤修复:
- 打开服务控制台(services.msc),找到
Active Directory Federation Services服务,停止并重新启动 - 若重启无效,执行以下PowerShell命令重置ADFS配置(注意:此操作会清空现有ADFS配置,需谨慎操作):
# 停止ADFS服务 Stop-Service adfssrv # 删除ADFS配置数据库 Remove-Item -Path "C:\Windows\ADFS" -Recurse -Force # 重新初始化ADFS配置(需重新运行ADFS安装向导补充参数) Install-AdfsFarm -CertificateThumbprint "你的证书指纹" -FederationServiceName "fs.yourdomain.com" -ServiceAccountCredential (Get-Credential)
- 若上述操作仍无效,检查服务器是否有未安装的系统更新,安装Windows Server 2016最新累积更新后重试
内容的提问来源于stack exchange,提问作者Saba 9t8t3
相关产品推荐
相关产品推荐

