현재 TCPListener를 사용하여 하나의 보안 서버를 구현하고 브라우저를 통해 Javascript 응용 프로그램 인 클라이언트에서 연결하려고합니다. SSLStream을 사용하여 통신을 시도하고 있으며 다음 방법을 사용하여 적절한 인증서가 제공됩니다.Internet Explorer에서 소켓 서버에 연결할 수 없습니다.
private static X509Certificate2 GetServerCert()
{
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection cert = store.Certificates.Find(X509FindType.FindByThumbprint, "XXXXXX-THUMBPRINT_OF_CERTIFICATE_HERE-XXXXXXX", true);
return cert[0];
}
는 지금은 사용하여이 서버에 연결할 때 "WSS를 : // IPADDRESS : 포트", 악수 및 데이터 통신은 클라이언트가 크롬 브라우저에서 실행중인 경우 잘 작동하지만 인터넷 익스플로러, 클라이언트에서 동일한 연결할 때 서버와 연결되지만 SSLStream을 사용하여 데이터가 수신되지 않습니다. 즉, SSLStream에서 0 바이트가 수신되고 서버에서 자동으로 연결이 끊어집니다.
wss 요청을 위해 TCPListener로 연결하기위한 브라우저 별 설정이 있는지 알려 주시기 바랍니다.
Internet Explorer 버전 : 11.0.9600.18738 (작동하지 않음)
크롬 버전 : 61.0.3163.100 (공식 빌드) (64 비트) (작업)
신뢰할 수있는 인증서 저장소에 추가됩니다 사용인증서 . Chrome에서 작동하더라도 질문이 하나 더 있습니다. 클라이언트에서 한 번의 클릭으로 두 번의 요청이 항상 발생합니다. 첫 번째 히트에서는 빈 헤더를 얻은 다음 두 번째 히트에서 자동으로 전체 헤더를 얻습니다.
내가 시도한 바 : 동일한 클라이언트 응용 프로그램의 보안되지 않은 요청이 두 브라우저 (Internet Explorer 및 Chrome)의 TCPListener Server에서 제대로 작동하고 있습니다. "WS : // IPADDRESS : 포트