2013-04-21 19 views
16

So che ci sono un sacco di domande relative alla stessi argomenti a StackOverflow, ma qui ho alcuni problemi diversi:ottenendo l'errore 107 (net :: ERR_SSL_PROTOCOL_ERROR): errore di protocollo SSL

ho usato il installer class a reserve a port e bind it with hash su win7/Winxp:

if (Environment.OSVersion.Version.Major > 5) 
{ 
    startInfo.Arguments = @"/c netsh http add urlacl url=https://127.0.0.1:8083/ user=EVERYONE"; 
    netsh http add sslcert ipport=127.0.0.1:8083 certhash=df03c4b0b32f3302a3b70abe6b5dfd864d0986a5 appid={00112233-4455-6677-8899-CCBBCCDDEEFF} clientcertnegotiation=enable; 
} 
else 
{ 
    startInfo.Arguments = @"/c httpcfg set urlacl /u https://127.0.0.1:8083/"; 
    httpcfg set ssl -i 127.0.0.1:8083 -h df03c4b0b32f3302a3b70abe6b5dfd864d0986a5 -f 2 
} 

Non c'è niente di sbagliato con il codice e setup project. Tutto funziona bene, tranne i seguenti punti:

  • ogni volta che ho installato il exe su win7 corre il WCF webservice successo.
  • Ogni volta che sto usando WinXP(SP#) sulla mia macchina locale getta un errore:

    Errore 107 (net :: ERR_SSL_PROTOCOL_ERROR): errore di protocollo SSL

  • Ma quando sto usando TeamViewer per accedere in qualsiasi WinXp macchina virtuale, funziona correttamente.

Come può essere possibile, l'ho provato più volte ma ottenuto lo stesso risultato. Funziona su Xp (in esecuzione su VM) ma non su una vera macchina XP?

Ho scritto qualcosa di sbagliato per legare e prenotare il porto? Il firewall ha un qualche ruolo qui?

Ho anche confermato con httpcfg query ssl e l'hash è stato associato correttamente alla porta.

Qualsiasi aiuto sarà apprezzabile.

IMO questo comando non funziona: netsh http add urlacl url=https://127.0.0.1:8083/ user=EVERYONE

ho cercato di scoprire l'errore con fiddler e dice:

risposta

1

La configurazione della macchina locale XP è probabile diversa da quella del Uno virtuale Uno scenario che posso pensare è che un reparto IT potrebbe configurare la macchina XP in un modo e quindi creare una macchina virtuale da soli, è solo utilizzando le impostazioni predefinite (che differiscono). Non sto dicendo che questo è il tuo scenario specifico, solo uno scenario. Un altro è che la macchina è obsoleta/non aggiornata che non è tanto un problema di configurazione quanto l'esistenza di bug.

In ogni caso, direi che your installation of XP is incorrectly determining that the certificate is invalid, un carattere che la VM non condivide. Anche il tuo commento sulle impostazioni del firewall potrebbe essere accurato: prova Google.

Buona fortuna!

0

Questo potrebbe sembrare stupido ma alcune applicazioni possono utilizzare porte SSL come Team Viewer o anche Skype. Prova a chiudere questa app nel caso in cui alcuni di essi siano in esecuzione sulla tua macchina!

Siamo spiacenti, è solo una supposizione :) ma spero che aiuti ...

0

fare la seguente configurazione berfoe chiamando il vostro servizio WCF

ServicePointManager.ServerCertificateValidationCallback = 
      delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; 

per maggiori detatils si riferiscono a: Using a self-signed certificate with .NET's HttpWebRequest/Response

Problemi correlati