¿En qué desplazamiento está la clave pública en una cadena de certificado codificada DER?

-1

Tengo la siguiente matriz de bytes que almacena una cadena de certificados (codificada DER):

3082020B3081F4A003020102020500A95AEE5F300D06092A864886F70D01010B0500301C311A301806035504031311544C532050726F6F6620526F6F74204341301E170D3137303331363131333435315A170D3137303631363131333435315A303E310B300906035504061302434831123010060355040A1309544C532050726F6F66311B301906035504031312746C7370726F6F667365727665722E636F6D3059301306072A8648CE3D020106082A8648CE3D030107034200048734740464EBB11EE51C58F19DD761521BC954D291165F6E51E829DB61A3678189FD1AB5F624647F5DFC4F3B60CE3FF78566A53D392417CADEE47FE39EA88C75300D06092A864886F70D01010B050003820101006764246DDECF8CCB50794AC25D19FF3A9242380518FC73A9281B8057AE038F1572E0ADC10A8D7CABCAF339CE484F8EA41423A8933A92E080E2EE07FE06173D2262092D0EE953F8340AE224FB9E16342249EBCE2FE657C99F4D1CD6CD5981DCA5FE46D992053F38384CF92FC5FCD5354829C3A78D2666E0E2FB46FED7BFC9F19C9C633620A77F30F7BFED5A4E853E7F14B87481D41E24D3D9ABFFB5F6E57698A591889396A95B7329E40FE06448EDF07995D3DFF74C4B8EA89AF1FE3CF707DC0E100BE0107A70BCF94AFF350B1314F3F2E320256BBAB3EB7495161983FEEF5D55CE2C981C589F02333990D3B9E913A88F5000ED65109E40D73F43D75F13A31CE6

¿Cuál es la clave pública y el desplazamiento para leerla es constante?

    
pregunta floyd 31.03.2017 - 17:05
fuente

2 respuestas

1

Si envía la burbuja a lapo.it en el panel de control de la información.

Dependiendo de lo que quiere decir con "la clave pública", comienza en 160, 183 o 186. (SPKI, SPKI.PublicKey o los bytes de contenido de la cadena de bits). Realmente necesitas todo el SPKI, ya que la identificación de la clave dice cómo leer la carga útil, y para ECC la sección de parámetros identificó la curva.

El desplazamiento definitivamente no es fijo para un certificado arbitrario, ya que el nombre del sujeto, el número de serie y el nombre del emisor lo preceden y tienen una longitud variable según su contenido. Definitivamente, necesitarás usar o escribir un analizador DER para encontrarlo.

    
respondido por el bartonjs 02.04.2017 - 19:41
fuente
1

Podemos buscar campos específicos utilizando enlace

Todo lo que necesitamos hacer es ejecutar este comando openssl:
openssl asn1parse -inform DER -in <your-cert>.der

Dependiendo de la longitud de ciertos campos como el Nombre del sujeto, la ubicación del campo que le interesa varía. Aquí hay un ejemplo de salida del comando anterior para el campo del identificador de clave del sujeto X509v3:

547:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Subject Key Identifier
552:d=5  hl=2 l=  22 prim: OCTET STRING      [HEX DUMP]:<Truncated>

Podemos notar la existencia del campo en el desplazamiento 547.

    
respondido por el guru 29.08.2017 - 19:03
fuente

Lea otras preguntas en las etiquetas