Si desea ajustar el material de claves mediante RSA_OAEP_AES_SHA256
, debe aplicar parches en la CLI con un parche OpenSSL admitido.
El cifrado OpenSSL -id-aes256-wrap-pad compatible con RSA_AES_KEY_WRAP
no está activado por defecto en la interfaz de línea de comandos (CLI). Aplique el parche OpenSSL para permitir el ajuste del sobre necesario para el mecanismo CKM_RSA_AES_KEY_WRAP
.
Nota
Para el escenario "Traiga su propia clave (BYOK), debe aplicar parches a OpenSSL para el ajuste de RSA_OAEP_AES_SHA256.
Realice los siguientes pasos para descargar, compilar y ejecutar una nueva copia local de OpenSSL v1.1.1d mediante la CLI, sin alterar la instalación por defecto de OpenSSL en el sistema:
-
Cree directorios para almacenar los binarios OpenSSL más recientes en
/root/build
.
mkdir $HOME/build
mkdir -p $HOME/local/ssl
cd $HOME/build
-
Ejecute el siguiente comando y observe la versión OpenSSL:
-
Tenga en cuenta la última versión de OpenSSL en https://www.openssl.org/source/.
-
Descargue y desempaquete las bibliotecas.
Sustituya
openssl-1.1.1d.tar.gz por la versión más reciente del paso
3.
curl -O https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxf openssl-1.1.1d.tar.gz
-
Instale el parche, realice las herramientas gcc para aplicar parches y, a continuación, compile los binarios.
sudo yum install patch make gcc -y
-
Ejecute los comandos siguientes:
Nota
Puede que necesite actualizar estos comandos para las versiones más recientes de OpenSSL.
cat <<-EOF | patch -d $HOME/build/ -p0
diff -ur orig/openssl-1.1.1d/apps/enc.c openssl-1.1.1d/apps/enc.c
--- orig/openssl-1.1.1d/apps/enc.c
+++ openssl-1.1.1d/apps/enc.c
@@ -533,6 +533,7 @@
*/
BIO_get_cipher_ctx(benc, &ctx);
+ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW);
if (!EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, enc)) {
BIO_printf(bio_err, "Error setting cipher %s\n",
EOF
Confirme la aplicación correcta de parches si la respuesta es similar a la siguiente:
[root@ip-172-31-20-119 ~]# cat «-EOF | patch -d $HOME/build/ -p0
diff -ur orig/openssl-1.1.1d/apps/enc.c openssl-1.1.1d/apps/enc.c
--- orig/openssl-1.1.1d/apps/enc.c
+++ openssl-l.1.1d/apps/enc.c
@@ -533,6 +533,7 @@
*/
BIO_get_cipher_ctx (benc, &ctx) ;
+ EVP_CIPHER_CTX_set_flags(ctx, EVP_CIPHER_CTX_FLAG_WRAP_ALLOW) ;
if (!EVP_CipherInit_ex (ctx, cipher, NULL, NULL, NULL, enc) ) {
BIO_printf (bio_err, "Error setting cipher %s\n" ,
EOF
patching file openssl-1.1.1d/apps/enc.c
-
Compile el archivo
enc.c
.
Nota
La compilación puede tardar varios minutos en cada comando.
cd $HOME/build/openssl-1.1.1d/
./config --prefix=$HOME/local --openssldir=$HOME/local/ssl
make -j$(grep -c ^processor /proc/cpuinfo)
make install
Ha instalado correctamente la última versión de OpenSSL. Esta versión está enlazada dinámicamente a bibliotecas del directorio $HOME/local/ssl/lib/
y no se puede ejecutar directamente. Defina la variable de entorno LD_LIBRARY_PATH
para asegurarse de que las bibliotecas asociadas están disponibles para OpenSSL.
-
Cree un script denominado
openssl.sh
que cargue la ruta de acceso $HOME/local/ssl/lib/
antes de ejecutar el binario. Esto facilita la ejecución de OpenSSL varias veces.
cd $HOME/local/bin/
echo -e '#!/bin/bash \nenv LD_LIBRARY_PATH=$HOME/local/lib/ $HOME/local/bin/openssl "$@"' > ./openssl.sh
-
Defina el bit de ejecución en el script.
-
Inicie OpenSSL con el siguiente comando:
$HOME/local/bin/openssl.sh