2014-10-23 2 views
0

네, 그렇습니다. Google과 비슷한 질문이 12 개 있습니다. 예, 나는 그 모든 것을 읽었으며 거기에서 말한 모든 것을 다했습니다. 그리고 예, 어떤 해결책도 도움이되지 못했습니다.ASP.NET, HttpWebRequest 및 "SSL/TLS 보안 채널을 만들지 못했습니다."

나는 ASP.NET 응용 프로그램의 컨텍스트에서 사용되는 클래스 라이브러리가 있습니다. 내 수업 라이브러리는 제 3 자 HTTPS 웹 사이트에서 데이터를 다운로드합니다. 이 웹 사이트에는 클라이언트 인증서가 필요합니다. LOCAL_MACHINE\MY에 인증서를 추가하고 winhttpcertcfg에 액세스 권한을 부여했습니다.

LogIn 메서드는 저장소에있는 해당 인증서를 찾습니다. 디버그 결과에서 볼 수 있듯이이 단계에서는 모든 것이 잘됩니다. 하지만 나중에 페이지를로드하려고하면 The request was aborted: Could not create SSL/TLS secure channel. 예외가 발생합니다.

내 코드 :

client = new XHttpClient(); 
X509Store store; 
X509CertificateCollection certificates; 
store = new X509Store(StoreLocation.LocalMachine); 
store.Open(OpenFlags.ReadOnly); 
certificates = store.Certificates.Find(
    X509FindType.FindByIssuerName, 
    "Xxxxxxxx Root CA", true); 
// everything is fine here, certificates[0] is my certificate 
client.ClientCertificates.AddRange(certificates); 
store.Close(); 

어떤 아이디어?

답변

0

오케이. 나는 그 자신을 발견했다. 이 post 덕분에 IIS5가 IIS_IUSRS 사용자가 아닌 NetworkService에서 실행된다는 것을 알았습니다. winhttpcertcfg을 사용하여 인증서에 대한 액세스 권한을 부여하면 작업이 시작됩니다.