많은 사람들이보고 한 클라이언트 인증서와 동일한 문제가 있습니다. 그러나 본 솔루션 중 어느 것도 저에게 효과적이지 않습니다. VB.Net (VS 2010 및 .NET Framework 4.0 사용)에서 Apache Tomcat/5.0.27에서 실행되는 웹 서비스에 연결해야하는 클라이언트가 있습니다. 클라이언트 인증서가 필요하지 않지만 클라이언트 인증서가 필요하면 "요청이 취소되었습니다 : SSL/TLS 보안 채널을 만들 수 없습니다"와 함께 실패합니다.SSL/TLS 보안 채널을 생성 할 수 없습니다. 클라이언트 인증서, TomCat 및 .Net
Internet Explorer (8 , 9 및 10, XP 및 Win7x32), SSL을 사용할 때 (system.xml 파일에서 sslProtocol = "TLS"secure = "true"scheme = "https"를 설정하여 Tomcat에 구성) 클라이언트 인증서가 비활성화됩니다 clientAuth = "false"), IE는 CA 인증서와 서버 인증서가 클라이언트 PC에 설치된 후에 만족합니다. IE는 인증서없이 불평하지만 경고를 무시하도록 지정할 수 있습니다. 인증서가 설치되면 경고없이 연결됩니다. 클라이언트 인증서가 필요하면 (clientAuth = "true") IE는 연결되지 않습니다. 클라이언트 인증서 파일을 가져온 후에도 여전히 연결되지 않습니다. IE는 클라이언트 파일이 설치되었음을 보여 주며 CA가 인증서를 확인하고 CA를 신뢰하지만 잘못된 저장소 인 것처럼 보입니다. 즉, 중간 인증 기관 및 클라이언트 인증이 목적 아래에 표시되어 있지 않습니다. MMC 인증서 스냅인은 클라이언트 인증서가 개인 - 현재 사용자 저장소에 있음을 보여줍니다.
인증서가 웹 서비스 소유자에 의해 발행되었으므로 이론적으로 작동해야합니다. 속성은 괜찮아 보이고 목적은 "모든 응용 프로그램 정책"을 보여줍니다.
내 .Net 클라이언트에서 작동하려면이 정보가 필요합니다. 웹 참조를 사용하여 웹 서비스에 대한 연결을 만듭니다. PreaAuthenticate = True로 설정하고 웹 참조에 인증서 파일을 첨부하고 IDE에 첨부 된 것을 볼 수 있습니다. 네트워크 모니터를 사용하면 서버가 두 개의 큰 패킷으로 클라이언트에 인증서를 보내지 만 클라이언트가 서버로 다시 보내지 않는 것처럼 보입니다.
나는 다양한 권장 사항을 시도했다. ServicePointManager.Expect100Continue = true 및 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3을 설정합니다. 그러나 이는 아무런 차이가 없습니다.
나는 방화벽과 프록시 서버를 사용할 수 없으므로 아무 것도 트래픽을 차단하지 못합니다.
어떤 도움을 주셔서 감사합니다.