2014-04-04 3 views
0

현재 타사 API를 Google 소프트웨어에 통합하려고합니다. SSL/TLS를 통한 OAuth 스타일 인증 시스템 사용이 요구됩니다.SSL/TLS WCF 문제

이것은 문제가되지 않으며 약 1 일 반 동안 작동했습니다. 그런 다음 갑자기 인증을 시도 할 때도 지속적으로이 오류를 저에게 돌려주기 시작합니다.

The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

가 작동되고 지금은 나를 밖으로 가방을 혼동되지 않으며, 심지어이 문제를 해결하기 위해 찾고 시작 아무 생각이 없다는 사실.

관련된 메서드는 HTTPS 환경에서 호스팅되는 WCF 서비스에서 호출됩니다. 우리는 공급자로부터 유효한 서명 된 인증서를 가지고 있습니다. 구현에서 변경된 사항은 없으며 단순히 작동을 멈췄습니다.

Google에서 이러한 오류가 발생하는 이유에 대한 제안 사항이 있습니까? 나는 심지어 어디서부터 시작해야할지 몰라.

UPDATE

인증서는 신뢰할 수있는 저장소에 존재합니다.

현재 당사 웹 사이트는 www.mywebsite.co.uk이며 유효한 웹 사이트 인증서가 있습니다. 당사의 서비스는 www.mywebsite.co.uk/Services에 있습니다.

www.mywebsite.co.uk/Services에있는 적절한 WCF를 사용하는 Windows 서비스도 사용합니다. 문제를 일으키는 Windows 서비스 일 수 있습니까? Windows 서비스 응용 프로그램은 업데이트가이 문제를 해결하기 위해 2

, 우리는 인증서 유효성 검사 오류를 무시하는 방법을 사용하기로 결정했습니다 2012 년

에서 Windows Server입니다 호스팅 서버에있는 . 이 코드 발췌 부분은 여기에있는 다른 기사 톤에서 찾을 수 있지만 여기서는 어쨌든 모든 독자를위한 것입니다.

ServicePointManager.ServerCertificateValidationCallback = (obj, certificate, chain, errors) => true;

UPDATE 3

좋아, 좀 더 내가 ServerCertificateValidationCallback에서 이러한 오류를 얻을 수 있었다 찾고 후. 그것은이 오류

RemoteCertificateNameMismatch

우리가 API 호출에 액세스하려고하는 서버 인증서의 발행/대상 일치하지 않는 이상한 웹 주소를 가지고에게 있다는 것을 알려줍니다. 이게 그걸 던지고있는거야?

+0

인증서를 확인하고 루트 인증서가 신뢰할 수있는 저장소에 있는지 확인하십시오. – Dunken

+0

루트 저장소와 도메인에 인증서를 추가했습니다. 효과가 없습니다. 나는 또한 나의 대답을 업데이트했다. – MightyLampshade

+1

Fiddler 또는 SSL을 해독하는 다른 프록시를 사용하고 있습니까? 이 경우 코드는 대상 서버가 아닌 프록시의 인증서를 보게됩니다. 게다가 트러스트 체인에있는 인증서가 유효하지 않은 경우 신뢰할 수있는 저장소에 저장했는지 여부에 관계없이 인증서가 더 이상 유효하지 않습니다. 확인을 사용하지 않도록 설정하면 프로덕션 환경에 배포 할 수있는 솔루션이 아닙니다. 최근의 Safari 취약점을 기억하십시오. –

답변

1

API 호출을 위해 액세스하려는 서버에 인증서의 발급자/제목과 일치하지 않는 홀수 웹 주소가 있습니다. 이게 그걸 던지고있는거야?

예, 그렇습니다. 인증서는 연결을 여는 호스트 이름과 인증서에서 식별 된 호스트 이름이 일치하는지 확인하여 유효성이 검사됩니다. 호스트 이름은 "웹 주소"의 첫 번째 부분입니다 (예 : stackoverflow.com 또는 www.google.com).

+0

감사합니다. 이것이 우리 고객의 문제이기 때문에, 우리는 그것에 관해 그들과 연락을했습니다. 감사합니다 :) 답변으로 표시합니다. – MightyLampshade