Devo abilitare gli utenti delle mie applicazioni a firmare le loro approvazioni con il loro token di sicurezza USB personale.Come ottenere informazioni da un token di sicurezza con C#
Sono riuscito a firmare i dati ma non sono stato in grado di ottenere le informazioni su chi è stato utilizzato per farlo.
Ecco il codice che ho finora:
CspParameters csp = new CspParameters(1, "SafeNet RSA CSP");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
// Create some data to sign.
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine("Data : " + BitConverter.ToString(data));
// Sign the data using the Smart Card CryptoGraphic Provider.
byte[] sig = rsa.SignData(data, "SHA1");
Console.WriteLine("Signature : " + BitConverter.ToString(sig));
C'è un campo nella scheda di gettone chiamato "token Nome". Come posso accedere a quel campo per convalidare il quale token è stato utilizzato per firmare l'approvazione?
informazioni Aditional e aggiornamento:
- "nome Token" corrisponde sempre il nome del proprietario (l'utente che possiede l'usb token)
- Sembra che non si può fare , forse c'è un servizio web o qualcosa che ho bisogno di chiamare per ottenere direttamente le informazioni dall'autorità cert.
Forse questo è più di una domanda per la sicurezza .stachexchange.com? – MiMo
Sembra che sia necessario estrarre un [Modulo] (http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsaparameters.modulus.aspx) come un'impronta digitale del certificato e quindi confrontarlo con database di tutte le impronte digitali dei certificati disponibili. Probabilmente qualcosa come ['byte [] modulus = rsa.ExportParameters (false) .Modulus;'] (http://attercop.googlecode.com/svn-history/r8/trunk/AttercopClient/SettingsWindow.cs) – oleksii
@oleksii I non ho un database modulo. Devo ottenere il "Nome token" e confrontarlo con il nome utente AD corrente. Grazie per il tuo commento. – daniloquio