Come utilizzare C # per crittografare / decrittografare i dati in cui la chiave privata si trova su una smart card, modulo di sicurezza hardware, chip TPM, ecc.

4

Qualcuno è a conoscenza di un esempio di codice C # per interagire con smartcard, modulo di sicurezza hardware, chip TPM (ecc.), che mi consentirà di crittografare e decrittografare i dati?

Il mio obiettivo è consentire alla mia applicazione di supportare una varietà di keystore e, se l'amministratore decide che desidera che la chiave privata risieda su quei dispositivi, voglio essere in grado di supportarla.

Esiste un modo coerente o universale per accedere a questi dispositivi? C'è un modo attraverso C #?

    
posta random65537 19.01.2011 - 23:11
fonte

1 risposta

6

Nel mondo Windows, la crittografia con hardware speciale passa attraverso i "Criptofornitori di servizi" (CSP). Un CSP è un modulo registrato nel sistema operativo, che offre l'accesso a tale tipo di hardware.

Da C #, puoi consultare RSACryptoServiceProvider , che può essere creato con alcuni parametri che designare un CSP specifico.

Il mondo non Windows tende a utilizzare PKCS # 11 per quello. Google trova alcuni pacchetti software che possono apparentemente utilizzare una DLL PKCS # 11 (ovvero il driver per l'hardware crittografico) da C #; per esempio. pkcs11.net e NCryptoki ( il primo sembra essere open source, non il secondo).

    
risposta data 19.01.2011 - 23:21
fonte

Leggi altre domande sui tag