我正在 Java/Android 中实现加密代码以匹配 iOS 加密。在 iOS 中,使用以下填充方案使用 RSA 进行加密:PKCS1-OAEP
但是,当我尝试使用 PKCS1-OAEP 创建密码时。
Cipher c = Cipher.getInstance("RSA/None/PKCS1-OAEP", "BC");
下面是堆栈跟踪
javax.crypto.NoSuchPaddingException: PKCS1-OAEP unavailable with RSA.
at com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineSetPadding(CipherSpi.java:240)
at javax.crypto.Cipher.getCipher(Cipher.java:324)
at javax.crypto.Cipher.getInstance(Cipher.java:237)
也许这RSA/None/PKCS1-OAEP
是不正确的?但找不到任何明确的答案来说明 PKCS1-OAEP 不受支持或定义它的正确方法。
我正在使用 spongycastle 库,所以有完整的 bouncycastle 实现。