Crear certificado sin clave privada o utilizando USB eToken

3

Teniendo en cuenta este hilo:

Crear certificado sin clave privada con OpenSSL

Tengo una situación muy similar. Tengo un USB eToken 5110 JC (Aladdin) que tiene una clave privada inaccesible, ya que es el objetivo principal. Puedo usar pkcs11-tool --module /lib/libeToken.so.9 -l --pin -s -i y funciona bien. El libeToken.so.9 es proporcionado por el controlador SAC 9.1 (Safenet Authentication Tool). Hasta ahora todo bien.

Mi problema es: necesito generar certificados y firmarlos con este eToken. Intenté usar el motor pkcs11 con openssl sin éxito. Tal vez debido a una mala configuración (intenté enlace cómo, pero tengo muchos errores y me he rendido)

Intenté usar gpg pero recibo errores al aprender la tarjeta.

Como puedo exportar fácilmente certificados y claves públicas desde USB Token, la punta de Valentin Bossi suena bien, ya que podría ejecutar openssl x509 -force_pubkey . ¿Es correcto hasta ahora?

¿Cuál será el problema de hacer esto? Sé que firmar es un proceso de generar un hash de algunos datos y cifrarlos con una clave privada. Cuando algunos datos se envían a alguien con su firma, el destinatario verificará cuál fue el algoritmo de hash, luego generará un hash de los datos con el mismo algoritmo y los comparará con los datos de hash descifrados con la clave pública del remitente, ¿verdad?

Entonces, al generar un certificado, no importa si los datos provienen de una CSR o una entrada estándar, la firma realizada a través de una clave pública no aseguraría la firma digital, ya que cualquiera podría obtener esta clave pública y generar certificados en nombre del propietario de eToken. / p>

¿Y ahora qué? ¿En qué me he equivocado?

Los datos cifrados con una clave privada se pueden descifrar con su clave pública y viceversa. Pero no sabía que es posible cifrar y descifrar usando la misma clave (ya que las claves son asimétricas).

    
pregunta Fellipe Theophilo Barata 14.05.2018 - 19:02
fuente

1 respuesta

2

Creo que estas confundiendo las cosas. En la pregunta que se refiere, se aborda un problema diferente: no se puede firmar la CSR con la clave privada adecuada, pero aún se crea un certificado basado en esta CSR. Esto es posible ya que la firma de la CSR solo se usa para verificar que el creador de la CSR tiene acceso a la clave privada, pero la clave privada no es realmente necesaria para crear el certificado.

En su lugar, está preguntando sobre la firma del certificado, que es diferente y sirve para un propósito diferente, luego firma un CSR. Dado que la firma en el certificado es esencial para verificar la validez del certificado, no puede omitirlo ni falsificarlo (utilizando una clave privada diferente). Por lo tanto, no hay manera de firmar correctamente un certificado sin tener acceso de alguna manera a la clave privada, es decir, tener la propia clave privada o tener un dispositivo que contenga la clave que se puede usar para firmar.

    
respondido por el Steffen Ullrich 15.05.2018 - 07:19
fuente

Lea otras preguntas en las etiquetas