Ho crittografato i messaggi e specificato il padding RSA-OAEP con OpenSSL 1.0.2k, usando il seguente comando:
openssl cms -encrypt -in content.txt -out message.msg \
-recip public-key.pem -keyopt rsa_padding_mode:oaep
E può decrittografarli bene usando ancora v1.0.2k.
Quando provo a decodificare il messaggio in un ambiente usando OpenSSL 1.0.1e, mi aspetto che la decrittografia fallisca, come dice la documentazione di OpenSSL cms:
Support for RSA-OAEP and RSA-PSS was first added to OpenSSL 1.1.0
Tuttavia, quando utilizzo il seguente comando per provare a decrittografare il messaggio (questo sarebbe all'interno dell'ambiente v1.0.1e), il messaggio viene decodificato correttamente e visualizza il contenuto originale in chiaro.
openssl cms -decrypt -in message.msg -recip \
recipient-combined-key.pem -inkey private-key.pem
Mi aspetto che la decifrazione fallisca in questo caso, poiché sicuramente la versione senza supporto per RSA-OAEP non avrebbe alcuna conoscenza dello schema di padding usato?
Ho anche testato i messaggi firmati usando il padding RSA-PSS, e in quel caso la firma non può essere verificata sulla versione precedente di OpenSSL senza il supporto RSA-PSS. Qualcuno può spiegare perché questo è il caso del padding PSS, e non del padding OAEP?