Al momento stiamo sviluppando un KSP personalizzato (Key Storage Provider) per un Key Storage System. Abbiamo sviluppato con successo un provider CSP (CryptoAPI) e KSP (CryptoNG), ed entrambi funzionano perfettamente per le firme digitali e SSL su Outlook, Google Chrome, Microsoft Office, Java Applet e qualsiasi altra applicazione che abbiamo testato.
Tuttavia, abbiamo problemi con Internet Explorer 11 (versione più recente), quando proviamo a utilizzare il certificato associato con il nostro CSP / KSP all'autenticazione SSL client. Il certificato appare nell'elenco di default di Windows, tuttavia, dopo averlo selezionato, la pagina non riesce a caricare.
Nel registro eventi, c'è un evento di errore da Schannel con ID 36870 e il seguente messaggio:
A fatal error occurred when attempting to access the SSL client credential private key. The error code returned from the cryptographic module is 0x8009030D.
Ho cercato su Internet e ho riscontrato molti problemi relativi ai problemi di autorizzazione dei file chiave del provider Microsoft, principalmente con risposte per chiavi SERVER e non chiavi CLIENT, che hanno codici di errore simili ma non lo stesso problema.
Si noti inoltre che il problema è con un KSP personalizzato, non con le implementazioni software Microsoft predefinite.
Alcune informazioni extra che potrebbero essere pertinenti:
- Il KSP dovrebbe scrivere alcuni registri nella cartella utente subito dopo il caricamento. Ma non sembra funzionare, non ci sono log. Non sono sicuro che non venga caricato del tutto o semplicemente non possa scrivere cose al sistema. Dovrebbe anche leggere un file di configurazione dalla stessa posizione.
- Il KSP dovrebbe mostrare dialoghi e anche usare internet (servizi web), ma anche questo non succede. Forse qualche restrizione di sicurezza di IE su DLL caricate (dopotutto, un CSP / KSP è una DLL che viene caricata) di cui non sono riuscito a trovare alcuna documentazione?
- Il KSP è firmato con un certificato di firma del software riconosciuto da Windows; E come detto, il sistema Windows riconosce e lavora bene con qualsiasi altro software Windows tranne IE.
- Ricorda che funziona con qualsiasi altro software che abbiamo provato, inclusi quelli di Microsoft. Sono anche in grado di eseguire il debug utilizzando Visual Studio collegato ad altri software, ma non funziona su Internet Explorer.
Se posso fornire ulteriori informazioni utili per questo, chiedimi. Sono a conoscenza e ho esaminato la maggior parte delle risorse Internet correlate all'ID evento 36870 e al codice di errore 0x8009030d, ho passato molto tempo a consultarle prima di pubblicare questo e le soluzioni proposte implicano sempre autorizzazioni sulla cartella del provider Microsoft (non applica) e / o sono relativi al server e non alle chiavi client. I collegamenti sono apprezzati se aggiungono informazioni non associate a problemi più comuni, ma non correlati.
Il KSP / CSP è stato testato anche su altri computer con gli stessi errori, quindi non sembra un problema su questo IE, ma un problema più generico.