Crea certificato senza chiave privata o usando USB eToken

3

Considerando questo thread:

Crea certificato senza chiave privata con OpenSSL

Ho una situazione molto simile. Ho un USB eToken 5110 JC (Aladdin) che ha una chiave privata inaccessibile, poiché è l'obiettivo principale. Posso usare pkcs11-tool --module /lib/libeToken.so.9 -l --pin -s -i e funziona bene. Il file libeToken.so.9 è fornito dal driver SAC 9.1 (Safenet Authentication Tool). Fin qui tutto bene.

Il mio problema è: ho bisogno di generare certificati e firmarli con questo eToken. Ho provato ad usare il motore pkcs11 con openssl senza successo. Forse a causa di errori di configurazione (ho provato link come, ma ho molti errori e mi sono arreso)

Ho provato a utilizzare gpg ma ottengo errori durante l'apprendimento della scheda.

Dato che posso facilmente esportare certificati e chiavi pubbliche dal token USB, la punta di Valentin Bossi suona bene, dato che potrei eseguire openssl x509 -force_pubkey . È corretto finora?

Quale sarà il problema di fare questo? So che firmare è un processo di generazione di un hash di alcuni dati e crittografarlo con una chiave privata. Quando alcuni dati vengono inviati a qualcuno con la sua firma, il destinatario controllerà l'algoritmo di hashing, quindi genererà un hash dei dati con lo stesso algoritmo e li confronterà con i dati hash decrittati con la chiave pubblica del mittente, giusto?

Quindi, quando si genera un certificato, indipendentemente dal fatto che i dati provenissero da un CSR o da uno stdin, la firma effettuata tramite chiave pubblica non assicurerebbe la firma digitale, poiché chiunque poteva ottenere questa chiave pubblica e generare certificati per conto del proprietario di eToken. / p>

Quindi, e adesso? Cosa ho sbagliato?

I dati crittografati con una chiave privata possono essere decifrati con la sua chiave pubblica e viceversa. Ma non sapevo che è possibile crittografare e decifrare usando la stessa chiave (poiché le chiavi sono asimmetriche).

    
posta Fellipe Theophilo Barata 14.05.2018 - 19:02
fonte

1 risposta

2

Penso che tu stia confondendo le cose. Nella domanda a cui fai riferimento a un problema diverso, viene affrontato: non essere in grado di firmare il CSR con la chiave privata corretta, ma creare comunque un certificato basato su questo CSR. Ciò è possibile poiché la firma del CSR viene utilizzata solo per verificare che il creatore del CSR abbia effettivamente accesso alla chiave privata, ma la chiave privata non è effettivamente necessaria per creare il certificato.

Stai invece chiedendo di firmare il certificato, che è diverso e ha uno scopo diverso da quello di firmare un CSR. Poiché la firma sul certificato è essenziale per verificare la validità del certificato, non è possibile ignorarlo o simularlo (utilizzando una chiave privata diversa). Pertanto, non c'è modo di firmare correttamente un certificato senza avere in qualche modo accesso alla chiave privata, cioè avendo la chiave privata stessa o avendo un dispositivo che contiene la chiave che può essere utilizzata per la firma.

    
risposta data 15.05.2018 - 07:19
fonte

Leggi altre domande sui tag