같은 인증 기관에서 발급 한 클라이언트 인증 인증서가 2 개 있습니다.SSL 핸드 셰이크 시간 초과
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(endPointUrl);
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.MaxAllowed);
X509CertificateCollection col = (X509CertificateCollection)store.Certificates.Find(X509FindType.FindBySerialNumber, certificateSerialNumber, true);
httpWebRequest.ClientCertificates.Add(col[0]);
httpWebRequest.Method = "POST";
httpWebRequest.ContentType = contentType;
httpWebRequest.KeepAlive = false;
httpWebRequest.Timeout = 3000;
httpWebRequest.ContentLength = message.Length;
httpRequestStream = httpWebRequest.GetRequestStream();
요청 스트림을 얻기 위해 시도 I "는 메시지와 함께 InvalidOperationException이 발생합니다 : 그 중 하나는 HTTPS의 웹 서비스에 연결하기 위해 나를 수 있습니다, 그러나 나는 다음과 같은 코드를 사용하면 다른 하나는하지 않습니다 작업 시간이 초과되었습니다. "
실패한 인증서로 연결을 시도 할 때 System.Net.trace를 사용했으며 "사용자 제공 인증서를 사용하여 세션을 다시 시작하려고 시도하기"전에 첫 번째 InitializeSecurityContext 바로 다음에 로그에 연결 시간 제한이 표시됩니다.
는 와이어 샤크는 다음을 보여
"TCP","j-link > https [SYN] Seq=0 Win=65535 Len=0 MSS=1260 SACK_PERM=1"
"TCP","https > j-link [SYN, ACK] Seq=0 Ack=1 Win=32768 Len=0 MSS=1380"
"TCP","j-link > https [ACK] Seq=1 Ack=1 Win=65535 Len=0"
"TLSv1","Client Hello"
"TLSv1","Server Hello"
"TCP","[TCP segment of a reassembled PDU]"
"TCP","j-link > https [ACK] Seq=78 Ack=2521 Win=65535 Len=0"
"TLSv1","Certificate, Certificate Request, Server Hello Done"
"TCP","j-link > https [ACK] Seq=78 Ack=3187 Win=64869 Len=0"
"TCP","j-link > https [FIN, ACK] Seq=78 Ack=3187 Win=64869 Len=0"
"TCP","https > j-link [ACK] Seq=3187 Ack=79 Win=32768 Len=0"
"TLSv1","Alert (Level: Warning, Description: Close Notify)"
"TCP","j-link > https [RST, ACK] Seq=79 Ack=3194 Win=0 Len=0"
내가 그들을 수출하고 PEM 형식으로 변환 한 후 두 인증서를 사용하여 명령 줄에서 OpenSSL을을 사용하여 연결할 수 있습니다.
의견을 보내 주시면 대단히 감사하겠습니다.