¿Por qué asn1parse no analiza todas las cadenas de codificación DER?

3

Tengo un archivo - crl.txt - que contiene lo siguiente:

MDYwNKAyoDCGLmh0dHA6Ly93d3cyLnB1YmxpYy10cnVzdC5jb20vY3JsL2N0L2N0cm9vdC5jcmw=

Es de una de las extensiones en un certificado X.509 en particular. ¿Por qué es que cuando ejecuto el siguiente comando no pasa nada ?:

openssl asn1parse -inform PEM -in crl.txt -i

Aquí está la codificación hexadecimal de esa cadena:

00000000  30:36:30:34:a0:32:a0:30:86:2e:68:74:74:70:3a:2f  0604.2.0..http:/
00000010  2f:77:77:77:32:2e:70:75:62:6c:69:63:2d:74:72:75  /www2.public-tru
00000020  73:74:2e:63:6f:6d:2f:63:72:6c:2f:63:74:2f:63:74  st.com/crl/ct/ct
00000030  72:6f:6f:74:2e:63:72:6c                          root.crl

La decodificación DER (a menos que esté equivocado) es la siguiente:

SEQUENCE {
  SEQUENCE {
    [0] {
      [0] {
        [6] 'http://www2.public-trust.com/crl/ct/ctroot.crl'
        }
      }
    }
  }

Es la extensión id-ce-cRLDistributionPoints. El primer [0] es para distributionPoint, el segundo [0] es para fullName y el [6] es para uniformResourceIdentifier (una IA5String codificada implícitamente).

    
pregunta compcert 16.01.2012 - 07:21
fuente

1 respuesta

1

Con OpenSSL 0.9.8r, obtengo esto:

$ cat crl.txt
MDYwNKAyoDCGLmh0dHA6Ly93d3cyLnB1YmxpYy10cnVzdC5jb20vY3JsL2N0L2N0cm9vdC5jcmw=
$ /usr/bin/openssl asn1parse -inform PEM -in crl.txt -i
    0:d=0  hl=2 l=  54 cons: SEQUENCE          
    2:d=1  hl=2 l=  52 cons:  SEQUENCE          
    4:d=2  hl=2 l=  50 cons:   cont [ 0 ]        
    6:d=3  hl=2 l=  48 cons:    cont [ 0 ]        
    8:d=4  hl=2 l=  46 prim:     cont [ 6 ]

Si su OpenSSL no hace "nada", entonces hay algo mal con él o con su computadora.

Tenga en cuenta que "PEM", stricto sensu, es para Base64 con encabezado y pie de página : comenzará con -----BEGIN FOO----- (de algún " FOO ") y terminará con -----END FOO----- . OpenSSL es bastante urbano para aceptar el procesamiento de su Base64 sin encabezado (o tal vez no, en su caso?).

    
respondido por el Thomas Pornin 16.01.2012 - 13:55
fuente

Lea otras preguntas en las etiquetas