【发布时间】:2015-11-06 18:03:04
【问题描述】:
我发现在 Oracle 的 Java 标准加密提供程序中遇到的困难
Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");
使用通过 SHA-1 实例化的 MFG1; SHA-256 仅用于散列标签(实际上是空的)。我发现在 MFG1 中实际使用 SHA-256 的唯一解决方案(在 answer 和 comment 的帮助下)是使用 Cipher.init 的替代形式:
cipher.init(Cipher.DECRYPT_MODE, privKey, new OAEPParameterSpec(
"SHA-256", "MGF1", MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT
));
问题:是否存在Cipher.getInstance 可以识别的转换,其效果类似于"RSA/ECB/OAEPWithSHA-256AndMGF1Padding",除了使用SHA-256 的MGF1 之外?
【问题讨论】:
-
请注意,这仅适用于 Java7u55(参见 bugs.java.com/bugdatabase/view_bug.do?bug_id=8058549)。以前的 java 版本按照描述的方式抛出异常。
标签: java cryptography