Dato che usi il comando openssl rsa
, assumerò che tu faccia riferimento ai file di chiavi private RSA nel formato PEM, crittografati usando AES256. Sembrano:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,87FD3191BA64A020594BD81962FB092A
pqS/qSsKxhodfAafiqFyx4opaMo4HsQ9c97gT1YgI3DmZBN1w/8mlAPn8YAe98j6
...
/IlNA3RyQdHY1JIcHsnZ0HWW13kGQ1pzofhNbHQkOWimrKupKMmhPKSSMx6Q+lCm
-----END RSA PRIVATE KEY-----
Sfortunatamente per te, tutti i dati con codifica Base64 qui sono crittografati (sottolineatura mia):
The line beginning with Proc-Type contains the version and the
protection on the encapsulated data. The line beginning DEK-Info
contains two comma separated values: the encryption algorithm name as
used by EVP_get_cipherbyname() and an initialization vector used by
the cipher encoded as a set of hexadecimal digits. After those two
lines is the base64-encoded encrypted data.
Quindi è impossibile ottenere la chiave RSA privata originale senza decrittografarla.
Lo script di configurazione deve trovare altri modi per rilevare che un file di chiave privata RSA è stato aggiornato (ad esempio, confrontando i timestamp, leggendo alcuni indicatori, ecc. ecc.).
Dato che hai citato SSL, nota che i certificati sono associati a una chiave privata RSA. In tal caso è possibile estrarre la chiave pubblica dalla chiave privata e dal certificato RSA utilizzando:
openssl rsa -in server.key -noout -modulus
openssl x509 -in server.crt -noout -modulus