2008-12-05 17 views
9

Sto creando un servizio WCF ospitato in IIS7 su Windows Vista SP1. Viene visualizzato il seguente errore:Problema con certificato autofirmato in WCF: deve avere chiave privata

Il certificato "CN = SignedByLocalHost" deve avere una chiave privata che sia in grado di scambiare le chiavi. Il processo deve avere i diritti di accesso per la chiave privata.

Sembra che avrei bisogno di dare al processo host la valutazione del certificato che è stato fatto in passato con winhttpcertcfg che è stato deprecato per Vista. L'articolo che ho trovato indica di utilizzare la console dei certificati, ma mi manca qualcosa perché non vedo alcuna possibilità di modificare il mio certificato.

Qualsiasi aiuto sarebbe fantastico!

Grazie

risposta

5

È possibile utilizzare IIS 7.0/7.5 Proprio Start-> Esegui -> inetmgr Selezionare il server Sotto pannello "Sicurezza", andare a "Certificati del server" Nel riquadro a sinistra fare clic su - "Crea certificato autofirmato" e completare il processo Il crtfiticate verrà installato in LocalMachine StoreLocation sotto Nome archivio personale. Ora usa questo certificato nel tuo servizio WCF e non affronterai questo errore

+0

È molto più facile, quindi a modo mio. Il mio modo è il vecchio approccio IIS6 – JoshBerke

8

capito.

Supponendo di avere un certificato autofirmato in c: \ OutCert il seguente comando funzionerà. Avevo lasciato lo scambio -sky.

makecert -sk SignedByCA -IV c: \ OutCert.pvk -n "CN = MyLocalHost" c -ic: \ OutCert.cer -sr LocalMachine -ss My-Sky pe scambio

Ora si può andare in lo strumento MMC e gestire le chiavi private e concedere l'accesso IIS alla chiave. Per gestire le chiavi private, fare clic con il tasto destro del mouse sul certificato e selezionare All Tasks/Manage Private Keys.

+0

hmm Non riesco a contrassegnare la mia risposta? – JoshBerke

+0

Spiegare per favore - in dettaglio come si va allo strumento MMC e gestire le chiavi private? –

+0

Dov'è questa Tutte le attività/Gestisci chiavi private? Utilizzo Windows 2008 R2 e non vedo questa opzione in MMC Snap in ... – essedbl