2017-10-04 8 views
0

타사 ID 공급자 (BankID https://www.bankid.com/en/)에 연결하기 위해 클라이언트 인증서를 사용하는 C# Web API가 있습니다.Azure IIS의 C# 웹 응용 프로그램에서 클라이언트 인증서 사용

Visual Studio에서 실행하면 연결 핸드 셰이크가 정상적으로 작동합니다. 하지만 Azure의 가상 컴퓨터에서 실행되는 IIS에 배포하고 어떤 이유로 지금은 예상대로 작동하지 않고 대신 예외가 발생합니다.

"요청이 중단되었습니다. SSL을 만들지 못했습니다./TLS 보안 채널. "

VM에 Visual Studio를 설치하고 작동하는지 확인했습니다. 로컬 컴퓨터에 IIS를 설치하고 작동하는지 확인했습니다. 그래서 Azure VM의 IIS라면 조합이 될 것 같습니다.

처음에는 클라이언트 인증서가 인증서 저장소에서 선택되지 않았을 수 있다고 생각했습니다. 그러나 "인증서를 찾을 수 없습니다"라는 처리를 추가했으며 이는 트리거하지 않습니다.

또한 파일에서 인증서를 가져 오는 대신 시도했습니다. 하지만이 방법도 효과가 없습니다.

도움을 주셔서 감사합니다. 생성자에서 이러는

답변

0

봅니다 :

ServicePointManager.Expect100Continue = true; 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11; 
0

나는 문제가 무엇인지 알아낼 수 있었다. IIS 사용자 (IIS_IUSRS)는 개인 키를 사용할 수있는 권한이 없습니다. 그래서 실제로 Azure와 관련이 없습니다.

동일한 문제가있는 사람은 여기 https://stackoverflow.com/a/2647003/8721876에서 자세한 대답을보십시오.