2016-06-10 15 views
3

Hier habe ich eine HttpRequestMessage, und ich versuche, ein Client-Zertifikat hinzuzufügen, aber ich kann nicht finden, wie dies zu tun ist. Hat jemand da draußen so etwas gemacht?Wie senden Sie ein Zertifikat mit einer HttpRequestMessage?

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "myapi/?myParm=" + aParm); 
//Want to add a certificate to request - a .p12 file in my project 
myAPIResponse res = await SendAndReadAsAsync<myAPIResponse>(request, aCancelToken); 
+0

Haben Sie das gesehen? http://stackoverflow.com/questions/22251689/make-https-call-using-httpclient – misha130

+1

Yup, dieser scheint es mit dem HttpClient zu senden ... Ich hatte gehofft zu sehen, ob es möglich ist, es mit zu senden die HttpRequestMessage – KateMak

Antwort

5

Hier ist eine Antwort, die HttpClient mit HttpRequestMessage kombiniert.

Die HttpRequestMessage, die die Daten und den Client enthält, wie die Daten gesendet werden.

WebRequestHandler handler = new WebRequestHandler(); 
X509Certificate2 certificate = GetMyX509Certificate(); 
handler.ClientCertificates.Add(certificate); 
HttpClient client = new HttpClient(handler); 
var request = new HttpRequestMessage (HttpMethod.Get, "myapi/?myParm=" + aParm); 
HttpResponseMessage response = await client.SendAsync (request); 
response.EnsureSuccessStatusCode(); 
+0

Danke :) Ich werde es versuchen! – KateMak