Informazioni su come applicare la patch a OpenSSL in modo da poter eseguire il wrapping del materiale chiave utilizzando RSA_OAEP_AES_SHA256 .
La cifra OpenSSL -id-aes256-wrap-pad compatibile con RSA_AES_KEY_WRAP non è abilitata per impostazione predefinita nell'interfaccia CLI OCI. Applicare la patch OpenSSL per abilitare il wrapping dell'envelope necessario per il meccanismo CKM_RSA_AES_KEY_WRAP.
Nota
Per lo scenario "Bring your own key (BYOK)" è necessario applicare le patch a OpenSSL per il wrapping RSA_OAEP_AES_SHA256.
Eseguire i passi riportati di seguito per scaricare, compilare ed eseguire una nuova copia locale di OpenSSL v1.1.1d utilizzando l'interfaccia CLI, senza modificare l'installazione predefinita di OpenSSL nel sistema.
-
Creare directory in cui memorizzare i file binari OpenSSL più recenti in
/root/build.
mkdir $HOME/build
mkdir -p $HOME/local/ssl
cd $HOME/build
-
Eseguire il comando seguente e prendere nota della versione OpenSSL:
-
Prendere nota della versione più recente di OpenSSL all'indirizzo https://www.openssl.org/source/.
-
Scaricare e decomprimere le librerie.
Sostituire
openssl-1.1.1d.tar.gz con la versione più recente del passo
3.
curl -O https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxf openssl-1.1.1d.tar.gz
-
Installare la patch, creare gli strumenti gcc di cui applicare le patch, quindi compilare i file binari.
sudo yum install patch make gcc -y
-
Eseguire i comandi seguenti:
Nota
Potrebbe essere necessario aggiornare questi comandi per le versioni più recenti di 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
Confermare la corretta applicazione delle patch se la risposta è simile alla seguente:
[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
-
Compilare il file
enc.c.
Nota
La compilazione può richiedere alcuni minuti per ciascun 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
Installazione della versione più recente di OpenSSL riuscita. Questa versione è collegata dinamicamente alle librerie nella directory $HOME/local/ssl/lib/ e non può essere eseguita direttamente. Impostare la variabile di ambiente LD_LIBRARY_PATH per accertarsi che le librerie associate siano disponibili per OpenSSL.
-
Creare uno script denominato
openssl.sh che carichi il percorso $HOME/local/ssl/lib/ prima di eseguire il file binario. Ciò semplifica l'esecuzione di OpenSSL più volte.
cd $HOME/local/bin/
echo -e '#!/bin/bash \nenv LD_LIBRARY_PATH=$HOME/local/lib/ $HOME/local/bin/openssl "$@"' > ./openssl.sh
-
Impostare il bit di esecuzione sullo script.
-
Avviare OpenSSL con il comando seguente:
$HOME/local/bin/openssl.sh