首页 > 解决方案 > 如何将 OAEPParameterSpec 添加到 JWE 对象?

问题描述

我需要将 OAEPParameterSpec 作为 AlgorithmParameterSpec 添加到 JWE(Json Web 加密)对象。我怎样才能做到这一点?

我正在使用客户端 - 服务器应用程序。服务器正在使用 RSA-OAEP-256 加密算法进行加密,客户端无法解密它,因为它使用的是 HSM 并且存在填充问题。许多研究表明,必须使用 BouncyCastle 提供程序来解决这个问题,但这与我无关,因为我无法更改 HSM。

为了做到这一点,在加密之前应该在服务器端进行调整是添加以下行

AlgorithmParameterSpec oaepParameterSpec = new OAEPParameterSpec("SHA-256", "MGF1", MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT); 

这个“oaepParameterSpec”必须添加到我正在使用的 JWE 对象中,但我找不到任何参考来指导我如何做到这一点,也找不到 jose4j 规范中关于如何更改/设置 AlgorithmParameterSpec。

标签: javasecurityjwejose4j

解决方案


jose4j 中的 RSA-OAEP-256 实现使用 OAEPParameterSpec https://bitbucket.org/b_c/jose4j/src/2e8f0c3fe7fdc9c8c48a572e02a677fb16c21448/src/main/java/org/jose4j/jwe/RsaKeyManagementAlgorithm.java#lines-84所以我不不知道这条路是否会有所帮助。


推荐阅读