如何修复错误 ACS50017
更新时间:2015 年 6 月 19 日
适用于:Azure
本主题提供有关 ACS50017 错误的可能原因和解决方案的信息。
ACS50017 的可能原因
当 ACS 无法为受信任的标识提供者的签名证书(例如受信任的 ADFS 服务器)生成证书链时,ACS 将返回 ACS50017。 出现以下情况时会发生此错误。
ACS 无法验证用于从标识提供者生成令牌数字签名的证书。
证书链中的商业证书没有“访问方法=证书颁发机构颁发者”扩展,该扩展包含直接父证书的链接。 有关 ACS 错误代码的详细信息,请参阅 ACS 错误代码。
ACS 无法从根证书颁发机构检索中间证书来验证信任链。
ACS50017 通常显示为某个完整错误消息的一部分,该消息可能包括 ACS50008 错误消息。
ACS20001: An error occurred while processing a WS-Federation sign-in
Inner message: ACS50008 : SAML token is invalid
ACS50017: Certificate validation failed for certificate '<Certificate subject name>' issued by '<Certificate issuer name>'. StatusInformation: 'A certificate chain could not be built to a trusted root authority.
'. X509ChainStatusFlags: 'PartialChain'
ACS 要求从受信任的证书颁发机构获取的商业证书包括具有“Access 方法=证书颁发机构颁发者”扩展的“颁发机构信息访问”。 扩展值必须包括用于链接其父证书 (.crt) 可公开下载副本的 URL。 此要求适用于证书链中的每个证书,根证书及其直接子证书除外。 如果未满足这些条件,ACS 将返回 ACS50017 错误。
此代码显示了某个虚构证书的证书颁发机构颁发者扩展格式。
[1]Authority Info Access
Access Method=Certification Authority Issuer (1.2.3.4.5.6.7.88.9)
Alternative Name:
URL=http://pki.fabrikam.org/Certificate/Fabrikam_RCA.crt
ACS 在 ACS 虚拟机上的中间证书存储中下载和缓存证书 (VM) 。 在回收 VM 之前,中间证书将在该 VM 保持可用。 缓存可以提高性能,并允许 ACS 访问中间证书,即使网络问题阻止它与根证书颁发机构联系。
当中间证书存储中找不到证书条目时,ACS 将返回 ACS50017 错误, (VM 上的缓存) ,并且对根证书颁发机构的网络调用失败。 如果 Windows Aure 负载均衡器将 ACS 客户端定向到尚未缓存标识提供者证书的 ACS VM,则 ACS50017 错误可能会间歇性地发生。
针对 ACS50017 的潜在解决方案
使用下列任一方法解决该问题并防止错误重复出现。
如果证书链中的商业证书有问题,你可以将商业证书替换为自签名证书。 有关详细信息,请参阅 证书和密钥。
如果证书链中的证书不包含所需的“访问方法=证书颁发机构颁发者”扩展,或者扩展中不包含 URL,或者 URL 未链接到父证书的公开副本,则你需要替换该证书。
如果证书具有所有必需的元素,但 ACS 在三次尝试后无法获取它,则由于临时网络条件或证书颁发机构服务器上的问题,操作可能会超时。 证书提供商也许能够改进证书获取性能。
重试请求。 如果负载平衡器可将请求定向到具有缓存证书的 VM,或者已解决了阻止访问证书颁发机构的连接问题,则先前失败的请求将会成功。
另请参阅
概念
ACS 错误代码
ACS 重试指导原则
证书和密钥
故障排除 ACS
如何修复错误 ACS50008