SPClaimsUtility.AuthenticateFormsUser的证书验证问题

查看IIS日志发现调用SPClaimsUtility.AuthenticateFormsUser的部分有time-taken在15秒左右的多个响应,查看call stack如下:

Child-SP         RetAddr          Call Site
00000000122ad290 000007fef1a7856b DomainNeutralILStubClass.IL_STUB(IntPtr, System.Security.Cryptography.SafeCertContextHandle, System.Runtime.InteropServices.ComTypes.FILETIME ByRef, System.Security.Cryptography.SafeCertStoreHandle, CERT_CHAIN_PARA ByRef, UInt32, IntPtr, System.Security.Cryptography.SafeCertChainHandle ByRef)
00000000122ad4e0 000007fef1a7812e System.Security.Cryptography.X509Certificates.X509Chain.BuildChain(IntPtr, System.Security.Cryptography.SafeCertContextHandle, System.Security.Cryptography.X509Certificates.X509Certificate2Collection, System.Security.Cryptography.OidCollection, System.Security.Cryptography.OidCollection, System.Security.Cryptography.X509Certificates.X509RevocationMode, System.Security.Cryptography.X509Certificates.X509RevocationFlag, System.DateTime, System.TimeSpan, System.Security.Cryptography.SafeCertChainHandle ByRef)
00000000122ad5d0 000007fee933b805 System.Security.Cryptography.X509Certificates.X509Chain.Build(System.Security.Cryptography.X509Certificates.X509Certificate2)
00000000122ad700 000007fee9250394 Microsoft.SharePoint.SPCertificateValidator+SPImmutableCertificateValidator.Validate(System.Security.Cryptography.X509Certificates.X509Certificate2)
00000000122ad760 000007fee610b908 Microsoft.SharePoint.SPCertificateValidator.Validate(System.Security.Cryptography.X509Certificates.X509Certificate2)
00000000122ad7d0 000007ff0026fc53 Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler.ValidateToken(System.IdentityModel.Tokens.SecurityToken)
00000000122ad880 000007ff00279fc1 Microsoft.SharePoint.IdentityModel.SPFederationAuthenticationModule.AuthenticateUser(System.IdentityModel.Tokens.SecurityToken)
00000000122ad8d0 000007fee899ec7c Microsoft.SharePoint.IdentityModel.SPFederationAuthenticationModule.SetPrincipalAndWriteSessionToken(System.IdentityModel.Tokens.SecurityToken, Microsoft.SharePoint.IdentityModel.SPSessionTokenWriteType)
00000000122ad980 000007ff00279a48 Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated)
00000000122ad9d0 000007ff00202f60 Microsoft.SharePoint.IdentityModel.SPClaimsUtility.AuthenticateFormsUser(System.Uri, System.String, System.String)

网上有几种解决方案,个人推荐安装证书,操作参考如下:

1、已管理员身份运行SharePoint 2010 Management Shell。

2、执行以下命令:

$rootCert = (Get-SPCertificateAuthority).RootCertificate
$rootCert.Export("Cert") | Set-Content C:\SharePointRootAuthority.cer -Encoding byte

3、安装导出的证书” SharePointRootAuthority.cer”至受信任的根证书颁发机构。

时间: 2024-10-09 04:43:53

SPClaimsUtility.AuthenticateFormsUser的证书验证问题的相关文章

ssl证书验证

当我们在访问https网站时,浏览器就会自动下载该网站的SSL证书,并对证书的安全性进行检查. 其他概念不说了,有效期之类的验证也不说了.只说数字证书的真实性和可信性验证. 1.CA下发给网站的证书是分层的证书链,从根证书开始一层一层直到网站证书.要验证某一层证书是否确实由上级CA发放的需要验证附带在该证书上的由上级CA通过签名函数及私钥生成的数字签名.数字签名的解密需要上级CA的公钥,这个公钥就明文保存在证书链中的上层证书中.而根证书是自己给自己签名,也就是根证书的签名也是靠自己保存的公钥来解

WCF使用安全证书验证消息加密

首先安装 服务端安全证书  代码如下:  // 下面第一行是安装证书,第二行是将证书列入信任 makecert.exe -sr LocalMachine -ss MY -a sha1 -n CN=localhost -sky exchange -pe certmgr.exe -add -r LocalMachine -s My -c -n localhost -r CurrentUser -s TrustedPeople 安装客户端安全证书代友如下 makecert.exe -sr LocalM

HTTPS请求 SSL证书验证

import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} request = urllib2.Request(ur

HttpClient忽略用户证书验证的方法

程序中出了这样的异常:javax.net.ssl.SSLException: hostname in certificate didn't match.异常发生在这行代码上:httpClient.execute(httpGet); 初步判断是证书的问题,准备采用忽略证书的方法解决,但在网上找了半天都没找到靠谱的代码解决,最后还是自己琢磨解决了. 得到一个教训,网上找答案是不靠谱的,因为具体问题需要具体分析,别人的方法不一定能解决你的,一定要自己思考,自己琢磨.在网上最重要的是能找到问题的解决思路

Axis 1 https(SSL) client 证书验证错误ValidatorException workaround

Axis 1.x 编写的client在测试https的webservice的时候, 由于client 代码建立SSL连接的时候没有对truststore进行设置,在与https部署的webservice 连接会在运行时报出: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath

事无巨细-全方位跟踪配置Exchange ActvieSync使用证书验证方式

前两段话为费话,请节约时间的人绕行. 工作中需要用到Exchange ActiveSync证书认证的方式,问了同事们没有一个会做,公司的ActiveSync也只是用到了Basic authentication, 而且都是由国外的同事维护的.没办法只好自己来了,可是不料在国内网站上只找到一些很少的片断,不全面也不系统,对于我这样的小白来说,看了之后只会越来越糊涂.在微软的官网上倒是很全面,但是被分成了多个主题,每个功能和配置点都有很多种情况,对于自己想要做的却很难挑出针对性的内容,微软的这种帮助文

配置Exchange 2013手机登录使用证书验证(Certificate-Based Authentication)

我们都知道默认情况下Exchange 2013服务器的移动设备连接服务器使用的是SSL基本身份验证. 需求描述: 今天有人提出,需要将Exchange 2013的手机连接认证方式使用证书来验证.如果手机客户端没有用户证书则不运行登陆邮箱. 优势: 配置使用证书验证的优点在于,手机客户端和服务器之间使用用户证书进行验证,当更改或重置用户密码时,不影响手机端用户的邮件服务,不会提示在更改密码后重新输入密码. 注意事项: 1.手机客户端使用的用户证书的Subject Name必须为该用户的User P

https证书验证

申请 目前是在 GoDaddy 申请的 CN=*.test.com 收到文件后会打印一份送行政部法务组,存入保险柜. 文件构成 gd_bundle.crt文件 GoDaddy提供的证书链 test.com.crt文件 证书 test.com.csr文件 证书签发请求(只第一次使用) test.com.key 私钥文件 nginx 上配置 HTTPS 需要两个参数: ssl_certificate 指令需要的文件由 cat test.com.crt gd_bundle.crt >test_chai

Android证书验证存漏洞 开发者身份信息可被篡改(转)

原帖地址:http://bbs.pediy.com/showthread.php?p=1335278#post1335278 近期在国内网易,雷锋网等网站爆出谷歌市场上的索尼官方的备份与恢复应用"Backup and Restore"被黑的消息.新闻显示:目前索尼官方的备份与恢复应用"Backup and Restore"已经被黑客彻底破解:甚至在Google Play商店里该应用的所有权都被黑客修改:目前仍不清楚使用破解修改版本的应用,会否对用户造成损害:建议用户