Sto tentando di utilizzare uno Cipher
con una coppia di chiavi RSA insieme allo "AndroidKeyStore"
. In tutta la documentazione di Android che posso trovare, gli esempi mostrano Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding")
o Cipher.getInstance("RSA/ECB/PKCS1Padding")
. Entrambi i quali venire con lo stesso avvertimento su Android Studio:Cipher con modalità ECB non deve essere utilizzato
BCE La crittografia non deve essere utilizzato
Cipher # getInstance non deve essere chiamato con BCE, in quanto la modalità di cifratura o senza impostare la modalità di cifratura in quanto la la modalità predefinita su Android è ECB, che non è sicura.
Ovviamente non posso ometterlo o impostare la modalità su None
, perché l'impostazione predefinita è ECB. Se la modalità ECB non è sicura, quale modalità dovrei usare?
Se uso un'altra modalità (che io sappia) ottengo un NoSuchAlgorithmException: No provider found for RSA/{mode}/OAEPWithSHA-256AndMGF1Padding
. Potrebbe essere il problema il riempimento?
In entrambi i casi, in base alla documentazione Android KeyStore System, la modalità ECB sembra essere l'unica modalità di blocco di crittografia supportata durante l'utilizzo di RSA.
Inviato [Issue 204099] (https://code.google.com/p/android/issues/detail?id=204099) – Bryan