2012-07-02 11 views
10

Ho un servizio WCF che è SOLO utilizzato da due macchine server. Non sarà MAI usato pubblicamente.Il certificato autofirmato WCF non è attendibile sul client

Speravo di poter utilizzare SSL con un certificato autofirmato per la sicurezza.

Ho creato un certificato utilizzando IIS7, installato sul computer client utilizzando IE e MMC (Personale, TrustedRoot, Terzi di terze parti & TrustedPeople).

Non riesco ancora ad accedere al servizio, né dal codice né tramite IE8, senza mettere in dubbio il certificato.

Da IE ottengo il solito "C'è un problema con il certificato di sicurezza di questo sito Web".

dal codice ottengo l'errore: "Impossibile stabilire la relazione di fiducia per la SSL/TLS canale protetto con autorità"

perché è questo che non funziona?

risposta

16

Sei sicuro che la tua certificazione autofirmata si trovi nell'autorità di certificazione Autorità di certificazione attendibili sul computer client che accederà al tuo servizio WCF? Vedi lo screenshot qui sotto di un certificato autofirmato che è considerato affidabile da uno dei miei computer Windows Vista.

Sei anche sicuro che il certificato sia un certificato autofirmato. Vedi screenshot alla fine di uno dei miei certificati autofirmati.

enter image description here

enter image description here

enter image description here

Informazioni aggiornate:

Partenza this di registrazione per informazioni su come utilizzare un'utility chiamata SelfSSL7 per creare certificati autofirmati che contengono più nomi di host.

Ecco un altro link con buone informazioni su SelfSSL7.exe e informazioni di download.

+0

Sì, tutti i controlli ... – baileyswalk

+1

Il nome host contenuto nel "CN" del certificato corrisponde all'host nome utilizzato nell'URL https: //? Puoi scaricare o elencare il certificato che hai creato? A parte la chiave privata, non abbiamo bisogno di vederlo. – HeatfanJohn

+4

Oltre al commento di @HeatfanJohn, il nome host nel certificato deve corrispondere esattamente a ciò che viene inserito nel servizio endpoint sul client, ovvero deve essere il nome di dominio completo in un dominio AD. Ho avuto problemi con il passato quando ho appena usato il nome della macchina server sul client mentre il certificato è stato emesso usando il nome completo. –

0

Il motivo per cui non funziona è che IE rileva che il certificato non è stato creato da una CA valida (autorità di certificazione). I certificati autofirmati sono più per test che altro. Non ci sarebbe molto senso per SSL se non fossi stato avvertito.

+0

ho pensato di installare il certificato sul computer client dovrebbe r esci questo, no? – baileyswalk

+3

@erix L'affidabilità del certificato dovrebbe far scomparire gli avvisi. – HeatfanJohn

+1

Per me, l'installazione del certificato nella radice soddisfa sia IE sia Chrome, ma a WCF non è ancora piaciuto –

1

Ho avuto questo oggi - ma con IIS7. Se si utilizza IIS per generare il certificato (inetmgr-> selezionare il nodo home, quindi scegliere Certificati server, utilizzare l'opzione del menu di destra per creare un certificato auto-certificato. L'attributo 'emesso a' viene impostato utilizzando il nome FQDN della macchina, ad esempio ' mymachine.myintranet.copp.net 'o qualsiasi altra cosa:

Finché l'FQDN per l'url si connette dal servizio, ad esempio "mymachine.myintranet.copp.net/myservice/service.svc", l'errore si verifica.

Se stai usando un URL alternativo, come un indirizzo IP o localhost, quindi l'errore si verifica. Così, la macchina sopra è stata, ovviamente, conosciuto come johnma nella sua rete allora funziona.

Problemi correlati