ios上.rsaepsha256算法与java的兼容性

ebdffaop  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(327)

我正在尝试从ios应用程序到java后端进行通信。当使用 .rsaEncryptionOAEPSHA256 算法 SecKeyCreateEncryptedData 对于加密,后端显示以下堆栈跟踪:

Caused by: java.lang.SecurityException: Exception thrown while invoking doFinal(byte[]).
    at  ... 101 common frames omitted
Caused by: javax.crypto.BadPaddingException: Decryption error
    at java.base/sun.security.rsa.RSAPadding.unpadOAEP(RSAPadding.java:497)
    at java.base/sun.security.rsa.RSAPadding.unpad(RSAPadding.java:292)
    at java.base/com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:366)
    at java.base/com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:392)
    at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2207)
    ... 103 common frames omitted

java后端正在使用 RSA/ECB/OAEPWithSHA-256AndMGF1Padding 算法来自 SunJCE 供应商。此提供程序使用 SHA-1 mgf1文摘。不过,ios的默认设置是 SHA-256 .
如何在ios的代码中更改此项以使其兼容?
注意:要清楚的是,完全相同的交互目前可以正常工作 .rsaEncryptionPKCS1 在后端使用 RSA/ECB/PKCS1Padding 在 java 。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题