java - 如何将 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。
解决方案
jose4j 中的 RSA-OAEP-256 实现使用 OAEPParameterSpec https://bitbucket.org/b_c/jose4j/src/2e8f0c3fe7fdc9c8c48a572e02a677fb16c21448/src/main/java/org/jose4j/jwe/RsaKeyManagementAlgorithm.java#lines-84所以我不不知道这条路是否会有所帮助。
推荐阅读
- css - 在闪亮的应用程序中更改数据表中一列的字体系列
- zapier - Webhook 返回将 Paypal 连接到 WooCommerce 的内部服务器错误
- javascript - 如何将数据从 * .ejs 文件传输到 app.js 并处理 app.js 文件上 HTML 标记上的点击事件
- reactjs - 使用 setstate 改变状态
- java - 合并流
- node.js - 在 mongo db 中搜索文档的多个数组中是否存在字符串
- sql - 在给定时区的情况下,如何查找本地时间不在开始时间和结束时间之间的用户 ID?
- android - 调用一次后删除观察者
- sql - 使用 Soundex 函数或 Levenshtein 距离模糊匹配 pyspark 或 SQL 中的字符串
- java - 执行 replaceAll 后无法删除斜线