no se puede verificar el documento de identidad de instancia de AWS EC2 con libressl

0

Estoy tratando de seguir los pasos aquí:

enlace

para verificar un documento de identidad de instancia, y estoy teniendo éxito cuando ejecuto en la instancia (con OpenSSL 1.0.2k-fips 26 Jan 2017 ) y fallo en mi Macbook (con LibreSSL 2.2.7 ).

He hecho un diff de los archivos y no hay diferencia. SHA1 incluido a continuación.

¿Hay alguna razón obvia para que esto falle? No estoy seguro de a dónde ir desde aquí.

En la instancia:

[ec2-user@ip-10-215-73-128 ~]$ openssl smime -verify -in $PKCS7 -inform PEM -content $DOCUMENT -certfile AWSpubkey -noverify > /dev/null
Verification successful

[ec2-user@ip-10-215-73-128 ~]$ ls
AWSpubkey
[ec2-user@ip-10-215-73-128 ~]$ echo $DOCUMENT
/tmp/iid
[ec2-user@ip-10-215-73-128 ~]$ echo $PKCS7
/tmp/iid.pkcs7
[ec2-user@ip-10-215-73-128 ~]$ openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

[ec2-user@ip-10-215-73-128 ~]$ sha1sum $DOCUMENT
0ab2144f3a388f9ab211fcc61b79d9c3996aae13  /tmp/iid
[ec2-user@ip-10-215-73-128 ~]$ sha1sum $PKCS7
986e701e30828217a3289a79df2759beda5eacc2  /tmp/iid.pkcs7
[ec2-user@ip-10-215-73-128 ~]$ sha1sum AWSpubkey
58f35f20bd57ec01773c29d08ff813c6b6479837  AWSpubkey

Localmente:

$ openssl smime -verify -in $PKCS7 -inform PEM -content $DOCUMENT -certfile AWSpubkey -noverify > /dev/null
Verification failure
140735950726088:error:21075076:PKCS7 routines:PKCS7_verify:content and data present:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/crypto/pkcs7/pk7_smime.c:297:

$ ls
AWSpubkey   iid.pkcs7   instance.iid
$ echo $DOCUMENT
instance.iid
$ echo $PKCS7
iid.pkcs7
$ openssl version
LibreSSL 2.2.7

$ sha1sum $DOCUMENT
0ab2144f3a388f9ab211fcc61b79d9c3996aae13  instance.iid
$ sha1sum $PKCS7
986e701e30828217a3289a79df2759beda5eacc2  iid.pkcs7
$ sha1sum AWSpubkey
58f35f20bd57ec01773c29d08ff813c6b6479837  AWSpubkey
    
pregunta Scott 29.11.2018 - 01:31
fuente

1 respuesta

1

Creo que este es un problema que se produce debido a un manejo de errores diferente en las versiones antiguas de LibreSSL / OpenSSL. (Piensa que MacOS realmente debería haber usado algo un poco más nuevo para sus valores predeterminados)

En versiones anteriores, se produce un error cuando se entrega una firma PKCS7 no separada junto con el contenido de entrada (básicamente, se asumió que los datos no serían referenciados en la firma y en un archivo externo). Las versiones posteriores usaron la opción predeterminada para lanzar solo un error si se llama con una bandera u omitir el cheque por completo dependiendo de la rama.

Puedes intentar arreglar esto verificando con una versión actualizada de LibreSSL o OpenSSL. Puede obtener estos en su mac a través de macports o homebrew.

    
respondido por el AlphaD 29.11.2018 - 08:38
fuente

Lea otras preguntas en las etiquetas