0
서비스가 있습니다. HTTPS 프로토콜을 통해 연결하고 POST 메서드를 통해 데이터를 업로드 한 다음 결과를 다운로드해야합니다. 연결은 * .p12 형식의 사용자 개인 인증서로 인증됩니다.HTTPS 연결이 사용자 인증서로 서명되었습니다 - 다른 시스템에서 예기치 않은 동작이 발생했습니다.
나는 그것을 달성하기 위해 다음과 같은 기능을 작성했습니다 :
static public string PostLPDA(string fileName, string URL, string certificateFile)
{
X509Certificate cert = new X509Certificate(certificateFile); // importing certificate from file <===== 1
StreamReader sr = new StreamReader(fileName);
string postString = string.Format("Query={0}", sr.ReadToEnd()); // preparing data to send
const string contentType = "application/x-www-form-urlencoded";
System.Net.ServicePointManager.Expect100Continue = false;
CookieContainer cookies = new CookieContainer();
HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = contentType;
webRequest.CookieContainer = cookies;
webRequest.ContentLength = postString.Length;
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1";
webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
webRequest.ClientCertificates.Add(cert); //adding certificate
System.Net.ServicePointManager.ServerCertificateValidationCallback =
((sender, certificate, chain, sslPolicyErrors) => true); // ignore untrusted site error <===== 2
StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream()); // <===== 3
requestWriter.Write(postString);
requestWriter.Close();
StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();
responseReader.Close();
webRequest.GetResponse().Close();
return responseData;
}
모두 내 컴퓨터에서 작동 확인 - 예외, 오류가 없는지, 데이터가 성공적으로 업로드되고, 서비스의 적절한 응답이.
요청이 중단되었습니다 : SSL/TLS 보안 채널을 생성 할 수 없습니다
그러나 다른 모든 PC에 메시지 < ====== 3으로 표시 줄에 예외가,이
.동일한 인증서 파일, 동일한 주소 및 동일한 데이터를 사용하고 있습니다. 결과는 오류이며 무엇이 잘못 되었는가를 판단 할 수 없습니다.
누군가 도움이 되십니까?
certificateFile - 다른 컴퓨터에도 존재합니까? –
일리아 : 예. 인증서 파일에 액세스 할 때 문제가 발생하면 오류가 발생했습니다 <===== 1 –