2017-03-15 38 views

回答

2

使用WebCrypto生成的密钥不受密码保护。

您可以导出密钥并构建支持加密的格式,例如PEM文件中的pkcs8,但要做到这一点,需要使用额外的库。

1

@pedrofb是对的。如果您想为更好或更坏PKCS8这样做是正确的格式,这里是代码的链接,可用于创建这样一个袋子 - https://github.com/PeculiarVentures/PKI.js/blob/5b9c35c154c48b232b45cc2a908c88e2f56a8447/src/PKCS8ShroudedKeyBag.js

你或许应该也看过这样的:http://unmitigatedrisk.com/?p=543其中介绍了一些相关的概念以关键材料袋。

您可能还想研究在服务工作者中使用webcrypto并通过PostMessage暴露接口以获取操作。这与一个不可导出的密钥相结合,可以防止任意使用密钥,例如攻击者只能执行接口允许的操作。

1

我有点迟到派对,但不是wrapKey()你在找什么?它使用相同的API,并允许您将密钥封装在密码保护的表单中,例如PKCS8。