Ich steh grad vor einem Problem, was ich mir nicht recht erklären kann...
Und zwar will ich in einer App Daten über https abrufen und benutze dafür einen HttpWebRequest und übergebe direkt die Authentifizierungsparameter (die Seite ist geschützt)
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
{
string userPass = string.Format( "{0}:{1}", "username", "password" );
string encoded = Convert.ToBase64String( Encoding.UTF8.GetBytes( userPass ) );
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create( "https://foo.bar.de/bla" );
request.Headers[HttpRequestHeader.Authorization] = "Basic " + encoded;
request.BeginGetResponse( OnResponse, request );
}
void OnResponse( IAsyncResult ar )
{
HttpWebRequest request = (HttpWebRequest)ar.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse( ar );
...
}
|
Der Code schlägt in request.EndGetResponse() mit der Meldung NotFound fehl.
Problem an der Sache ist, dass die URL und die Logindaten stimmen und das der gleiche Code in einer C# Konsolenanwendung prima funktioniert.
Die einzige Einschränkung die ich zum Thema https in WP7 gefunden hab war, dass das Zertifikat der Webseite gültig sein muss (was es aber ist).
Hat irgend jemand eine Idee, woran das sonst noch liegen könnte?
EDIT:
Ach so ja: Das Zertifikat der Seite hab ich natürlich installiert.
EDIT 2:
So nachdem ich ein wenig weiter geforscht habe hab ich immerhin rausgefunden, dass WP7 während des SSL-Handshakes einfach die Verbindung kappt... Das sollte der Client doch aber nur tun, wenn er das Zertifikat vom Server nicht validieren konnte, oder?