You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint 2019本地部署ADFS认证遇SecurityTokenResolver密钥错误求助

解决SharePoint ADFS认证报错“Ensure that the SecurityTokenResolver is populated with the required key”

以下是针对该问题的排查和解决步骤:

  • 确认证书导入方向,别搞反
    SharePoint需要ADFS的Token签名证书(公钥,.cer格式)作为SPTrustedRootAuthority,而Token解密证书是SharePoint侧生成后提供给ADFS的,两者不能混淆。操作步骤:

    1. 从ADFS管理控制台导出Token签名证书(仅公钥)
    2. 将证书导入SharePoint服务器的本地计算机-受信任根证书颁发机构存储
    3. 用该证书的指纹创建SPTrustedRootAuthority
  • 检查证书存储的权限配置
    SharePoint应用程序池账户必须对导入的ADFS签名证书拥有读取权限:

    1. 打开certlm.msc,找到目标证书
    2. 右键>所有任务>管理私钥,添加SP应用池账户并赋予读取权限
  • 验证SPTrustedIdentityTokenIssuer参数正确性
    确保创建命令中参数对应正确的证书:

    # 加载证书
    $signingCert = Get-PfxCertificate -FilePath "C:\ADFS-Signing.cer"
    $decryptionCert = Get-PfxCertificate -FilePath "C:\SP-Decryption.pfx"
    # 创建信任身份提供方
    New-SPTrustedIdentityTokenIssuer -Name "ADFS Provider" -Realm "urn:sharepoint:yourfarm" -ImportTrustCertificate $signingCert -SignInUrl "https://adfs.yourdomain.com/adfs/ls/" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -DecryptionCertificate $decryptionCert
    

    注意:-SigningCertificate对应ADFS签名证书,-DecryptionCertificate对应SharePoint自己的解密证书(需提前在ADFS信赖方配置中导入该证书的公钥)

  • 清除SharePoint配置缓存
    配置缓存可能导致证书信息未更新:

    1. 停止SharePoint Timer Service
    2. 删除C:\ProgramData\Microsoft\SharePoint\Config\<GUID>下所有.xml文件(保留cache.ini)
    3. 编辑cache.ini,将数值改为1
    4. 重启SharePoint Timer Service
  • 核对ADFS信赖方信任配置

    1. 确认ADFS中SharePoint信赖方的加密证书是SharePoint导出的公钥证书
    2. 确认信赖方的标识符(Realm)与SharePoint命令中-Realm参数完全一致(大小写、格式均需匹配)
    3. 检查ADFS是否启用了正确的签名算法(SHA256等,需与SharePoint侧兼容)
  • 启用详细日志定位问题
    在SharePoint服务器上设置ULS日志级别:

    1. 将Claims Authentication和Security Token Service类别的日志级别设为Verbose
    2. 重现错误后查看ULS日志,获取密钥匹配失败的具体细节(是签名证书不匹配还是解密证书问题)

内容的提问来源于stack exchange,提问作者Txalamar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 00:20:44