¿Por qué no puedo envolver claves asimétricas usando -id-aes256-wrap-pad en OpenSSL?
Síntomas
Por defecto, el algoritmo -id-aes256-wrap-pad no está habilitado en OpenSSL. Para envolver una clave, actualice OpenSSL a la versión más reciente y parchearlo primero.
Solución
Utilice los comandos bash para crear una copia local del OpenSSL existente. No es necesario eliminar o modificar las configuraciones predeterminadas de instalación del cliente OpenSSL.
- Cambie al usuario root.
sudo su -
- Ejecute el siguiente comando y registre la versión de OpenSSL:
openssl version
- Ejecute los siguientes comandos para crear el directorio /root/build. Este directorio se utilizará para almacenar el último archivo binario OpenSSL.
mkdir $HOME/build
mkdir -p $HOME/local/ssl
cd $HOME/build
- Descargue la última versión de OpenSSL desde https://www.openssl.org/source/.
- Descargue y descomprima el archivo binario.
- Reemplace openssl-1.1.1d.tar.gz con la última versión de OpenSSL descargada en el paso 4.
curl -O https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxf openssl-1.1.1d.tar.gz
- Utilice la herramienta gcc para parchear la versión y compilar el archivo binario descargado.
yum install patch make gcc -y
Si está utilizando una versión que no sea OpenSSL-1.1.1d, es posible que tenga que cambiar el directorio y los comandos utilizados, o es posible que este parche no funcione correctamente.
- Ejecute los siguientes comandos:
sed -i "/BIO_get_cipher_ctx(benc, &ctx);/a\ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);" $HOME/build/openssl-1.1.1d/apps/enc.c
- Ejecute los siguientes comandos para compilar el archivo enc.c de OpenSSL:
cd $HOME/build/openssl-1.1.1d/
./config --prefix=$HOME/local --openssldir=$HOME/local/ssl
make -j$(grep -c ^processor /proc/cpuinfo)
make install
- Configure la variable de entorno LD_LIBRARY_PATH para asegurarse de que las bibliotecas requeridas estén disponibles para OpenSSL. La última versión de OpenSSL se ha vinculado dinámicamente al archivo binario en el directorio $HOME/local/ssl/lib/, y no se puede ejecutar directamente en shell.
- Cree un script llamado openssl.sh para cargar la ruta $HOME/local/ssl/lib/ antes de ejecutar el archivo binario.
cd $HOME/local/bin/
echo -e '#!/bin/bash \nenv LD_LIBRARY_PATH=$HOME/local/lib/ $HOME/local/bin/openssl "$@"' > ./openssl.sh
- Ejecute el siguiente comando para configurar un bit de ejecución en el script:
chmod 755 ./openssl.sh
- Ejecute el siguiente comando para iniciar la versión parcheada de OpenSSL:
$HOME/local/bin/openssl.sh
KMS Relacionados Preguntas frecuentes
- ¿Qué es Key Management Service?
- ¿Qué es una clave maestra del cliente?
- ¿Qué es una clave maestra predeterminada?
- ¿Cuáles son las diferencias entre una clave personalizada y una DMK?
- ¿Qué es una clave de cifrado de datos?
- ¿Se cobrará un CMK después de estar discapacitado?
- ¿Se cobrará un CMK después de que esté programado para eliminarlo?
- ¿Por qué no puedo eliminar un CMK inmediatamente?
- ¿Qué servicios en la nube pueden usar KMS para el cifrado?
- ¿Cómo utilizan servicios de Huawei Cloud KMS para cifrar datos?
- ¿Cuáles son los beneficios del cifrado de sobres?
- ¿Hay un límite en el número de CMK que puedo crear en KMS?
- ¿Puedo exportar un CMK desde KMS?
- ¿Puedo descifrar mis datos si elimino permanentemente mi CMK?
- ¿Cómo uso la herramienta en línea para cifrar o descifrar pequeños volúmenes de datos?
- ¿Puedo actualizar CMK creados por materiales clave generados por KMS?
- ¿Cómo se generan las claves predeterminadas?
- ¿Qué debo hacer si no tengo permisos para realizar operaciones en KMS?
- ¿Por qué no puedo envolver claves asimétricas usando -id-aes256-wrap-pad en OpenSSL?
- Algoritmos de clave soportados por KMS
- ¿Qué debo hacer si no se ha solicitado KMS y se muestra el código de error 401?
Comentarios
¿Le pareció útil esta página?
Deje algún comentariomore