es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Generando código PEM a partir de código DER para clave pública RSA.

Tengo código ASN.1:

 

RSAPublicKey ::= SEQUENCE {
modulus           INTEGER,  7120255303029382831
publicExponent    INTEGER   4242026487
}

 

Codifiqué el código ASN.1 con DER:

 

30 11 02 08 62 D0 3A 79 2F 28 5E AF 02 05 00 FC D8 02 FF 07

 

Codifiqué el código DER con base64 (Estoy intentando generar código PEM):

 

MzAgMTEgMDIgMDggNjIgRDAgM0EgNzkgMkYgMjggNUUgQUYgMDIgMDUgMDAgRkMgRDggMDIgRkYgMDc

 

Pero cuando intento cifrar algo con él, dice “Error: Too few bytes to read ASN.1 value.” en CyberChef.

 

¿Qué debo hacer? Por favor, ayúdame con esto.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que puede haber un problema con la codificación DER. Puedes intentar decodificar la cadena base64 y luego volver a codificarla en formato DER para asegurarte de que se haya codificado correctamente.

    Para hacer esto, puedes usar una herramienta de conversión en línea o la herramienta de línea de comandos openssl. Aquí están los pasos utilizando openssl:

    1. Decodifica la cadena base64:

      openssl base64 -d -in encoded.der -out decoded.der

    2. Verifica el formato DER decodificado:

      openssl asn1parse -inform der -in decoded.der

      Esto debería mostrar los datos DER analizados y confirmar que están en el formato correcto.

    3. Codifica el DER de nuevo a base64:

      openssl base64 -in decoded.der -out encoded.pem

    4. Confirma que el formato PEM codificado es correcto y se puede usar para la encriptación.

    Espero que esto ayude a resolver el problema con el error del valor ASN.1 que encontraste en CyberChef.

Comments are closed.