Background:Browser non sta spingendo per un certificato client
sto aggiornando un'applicazione interna ad un processo di autenticazione in due fasi. Voglio aggiungere un processo di autenticazione del certificato client (tramite una smart card) sopra un modulo di username/password tradizionale. L'applicazione è scritta in C#, ospitata su IIS7 e destinata a Chrome e IE8.
Problema:
sto avendo problemi con ottenere l'applicazione per richiedere all'utente un certificato client. Ho eseguito il debug dell'applicazione con l'aiuto di Fiddler. Quando ho un certificato client di prova salvato nella directory dell'utente di Fiddler (C: \ Documents and Settings \ USER \ My Documents \ Fiddler2), l'applicazione funziona come previsto. Viene richiesto un numero PIN che protegge la smart card e, se inserito correttamente, mi porta al modulo di accesso. Quando chiudo Fiddler, l'applicazione genera invece un errore Proibito 403 (poiché Fiddler non è più in esecuzione e punta al suo certificato). Quello che non sono stato in grado di capire è il motivo per cui l'applicazione non richiede normalmente un certificato.
Configurazione del server attuale:
- certificato autofirmato è stato creato
- 443 rilegatura sta puntando a self certificato firmato
- autenticazione anonima è abilitata
- Il Sé certificato firmato è stato aggiunto ad entrambi la CA radice affidabile e la CA intermedia (ho letto che un'altra persona l'ha avuta in entrambi e non solo nella CA radice affidabile e che ha risolto il problema, anche se nessuna delle due ha funzionato per noi).
- Ho eliminato il resto dei certificati nella CA radice affidabile di cui non avevo bisogno (ho letto altrove che avere troppi certificati causerebbe l'inibizione di SSL).
Non ho idee da provare se non partire da zero su un altro server. Qualcuno sa quale potrebbe essere il problema? Sembra che dovrebbe essere abbastanza semplice e che mi manca qualcosa di minore. Tutte le idee sono benvenute.
Aggiornamento:
Dopo aver trascorso più tempo con questo problema di oggi, credo fermamente che ha a che fare con IIS7 non essere configurato correttamente (non mi ha installato in origine). Questo perché ho abilitato Traccia richieste non riuscite, guardato i successivi file .xml generati e visto che veniva lanciato un errore 500.
Chrome lancia un messaggio "Accesso alla pagina Web negato" anziché "403 - Accesso negato: accesso negato". Non so se questo aiuta. So che quando non faccio i certificati richiesti, il sito funzionerà come previsto. Richiedere un certificato è dove fallisce.
Il pool di applicazioni è impostato su .Net 4.0 | Classico | Servizio di rete.
Non sono sicuro di poter aiutare ma ho un paio di domande: 1) hai provato anche IE o FF? 2) Potrebbe voler duplicare i risultati su un altro server. Ho visto troppe problematiche aiutate/risolte in questo modo: ti darebbe anche l'opportunità di diventare più grintoso su come il tuo sito IIS7 è stato configurato; 3) c'è più client e/o logging del server puoi provare ad ottenere più informazioni - probabilmente più sul lato IIS7, a quanto pare. – Lizz