2013-03-13 14 views
1

이 질문에 대한 많은 버전이 stackoverflow에 있습니다. 나는 거기에 제안 된 많은 해결책을 시도했다 - 그러나 이들 중 어느 것도 나를 위해 일하지 않는다.웹 서비스 호출 "기본 연결이 닫혔습니다 : SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다"

Windows Server 2008의 IIS에서 실행되는 VB ASP.NET 응용 프로그램이 있습니다. 웹 서비스를 호출합니다. 웹 서비스를 실행하는 서버에는 자체 서명 된 인증서가 있습니다. 인증서를 IIS 컴퓨터의 트러스트 스토어로 가져 왔습니다. IE-> Options-> Content-> Certificates-> Trusted Root Certification Authorities에서 인증서를 볼 수 있습니다. 웹 서비스를 호출

예외가

이 기본 연결이 닫혔습니다 던져 경우 : SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다.

동일한 IIS VB ASP.NET 응용 프로그램이 비슷한 설정으로 다른 컴퓨터에서 정상적으로 실행됩니다.

내가

    을 점검 한 다른 기본적인 것들
  • 웹 서비스를 호출하는 데 사용되는 URL은 신뢰할 수있는 루트 CA로 가져 CERT는의 CN과 동일
  • 호출하는 컴퓨터와 웹 서비스 호스트간에 시간이 동기화됩니다.
  • Cert가 만료되지 않았습니다.
  • IIS 컴퓨터에는 IIS에서 프록시 설정이 있지만 프록시를 사용하면 안되는 예외 목록에 웹 서비스 호스트 컴퓨터가 추가되었습니다.

VB.NET에서 작은 명령 줄 테스트 프로그램을 작성하여 정상적으로 실행되는 동일한 웹 서비스를 호출했습니다.

Cert를 신뢰할 수있는 CA 저장소로 가져온 후 iisreset을 완료했습니다.

아직 시도하지 않은 것은 IIS 컴퓨터를 다시 부팅하는 것입니다.이 컴퓨터는 프로덕션 컴퓨터입니다. & 적어도 며칠 동안은 다시 부팅 할 수 없습니다.

그 외 어떤 시도를 할 수 있습니까?

답변

3

Internet Explorer 인증서 설정은 현재 사용자에게만 적용됩니다. 그것은 입니다. IE를 운영 할 때 로그인 한 사용자가 IIS 응용 프로그램을 호스팅하는 데 사용되는 사용자와 같지 않을 가능성은 거의 없습니다. 해당 서비스 계정에 대한 신뢰할 수있는 인증서에 인증서를 추가 할 수 있지만 "로컬 컴퓨터"신뢰할 수있는 인증서에 추가하는 것이 더 간단합니다.

Microsoft Management Console (실행 대화 상자에 "mmc"입력)> 파일> 스냅인 추가/제거> 인증서를 클릭하고 관리 할 인증서에 대해 "컴퓨터 계정"을 선택하십시오. 이렇게하면 서버의 사용자 또는 서비스 계정에 인증서가 신뢰 된 것으로 표시됩니다.

또는 웹 서비스에 액세스하는 방법에 따라 응용 프로그램 자체 내에 예외를 추가 할 수 있습니다. 나는 인증서의 지문/해시를 확인하는 코드를 권장합니다. 이는 신뢰할 수없는 인증서에 연결할 수 있도록하는 것과 반대입니다.

+0

감사합니다. 나는 이것을 시도 할 것이다. – user93353

관련 문제