我学习一整天the documentation of SubtleCrypto在 Mozilla 工作,无法找到一种使用一个版本的 RSA key 同时进行加密和签名的方法。
我很困惑,因为我能够写 code in Java to do this job 。 Java 这里有疯狂的东西吗?我没有找到正确的方法还是它只是没有在 SubtleCrypto 中实现?
最佳答案
一些非对称算法会泄露有关它们的详细信息,具体取决于它们的使用方式。出于这个原因,Webcrypto 作者决定通过防止这种情况来“帮助用户避免伤害自己”。
并非所有算法都具有此属性,例如基于 EC-Schnorr 的算法就没有(Curve25519 就是这样的例子),说明目前这不是 Web Crypto 支持的算法。
可以导出 key 并将其作为另一种类型重新导入,这确实可以解决可导出 key 的此限制。也就是说,如果您使用 secp256r1 或其系列成员,您应该使用唯一的 key 并以加密方式将它们绑定(bind)到同一主题,而不是使用一个 key 。
关于javascript - SubtleCrypto API 是否支持同一种算法加密和签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39703155/