2009-07-29 10 views
6

Ho un certificato del server che funziona con il mio servizio WCF.Certificati del server WCF Keyset non trovato, impossibile trovare la chiave privata

Tuttavia, quando eseguo il servizio web, sembra che abbia un problema con le autorizzazioni.

[ArgumentException: il certificato 'CN = S80' 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.]

Qualche idea?

risposta

18

Supponendo di avere la coppia di chiavi pubblica/privata completa non è stato concesso l'accesso alla chiave privata del certificato al processo in cui è in esecuzione il servizio WCF.

Ora, come si esegue questa operazione dipende dalla versione del sistema operativo e come si ospita il servizio, ma this article fornisce le istruzioni che dovrebbe funzionare in per XP e Windows 2003.

Per Windows 2008/Vista/Win7 il processo è leggermente Più facile. Avvia MMC e aggiungi Snap-in certificato, selezionando il proprietario del contenitore corretto per il certificato SSL. Trova il certificato (probabilmente è nel negozio personale), fai clic con il pulsante destro del mouse e seleziona Tutte le attività> Gestisci chiave privata. Concedi l'accesso in lettura alla chiave privata all'utente che ospita il tuo servizio.

+1

anche un link utile qui http://msdn.microsoft.com/en-us/library/aa702621.aspx – AJM

+0

1 - grazie per avermi salvato un sacco di tempo e frustrazione! –

+1

@blowdart, il tuo link per il 2003 è morto. qualche possibilità è altrove ora? –

2
winhttpcertcfg -g -c LOCAL_MACHINE\MY -s mycert -a "Network Service" 
Problemi correlati