首页 > 解决方案 > 没有 ssl 的 Web 加密 API

问题描述

我写了一个用于安全消息传输的小 Web 应用程序以了解有关加密的更多信息,并想将它展示给我的朋友并让他们玩一点,所以我将它托管在我的小服务器上,并震惊地发现 Web Crypto API(我拼命开始工作,因为它的错误消息不是很具体)需要 SSL(有点违背在浏览器中实现自己的加密方案的目的)!

我已经在该服务器上使用 SSL 运行了另一个 API,但我不想合并它们,而是想问:有没有办法绕过 Web Crypto API 的安全套接字要求,或者是否有另一个库允许我使用非安全上下文中的相同或相似功能?

标签: javascriptsslcryptographywebcrypto-apisecure-context

解决方案


WebCrypto API 规范 ( https://www.w3.org/TR/WebCryptoAPI/ ) 不限于 SSL,但浏览器实现需要“安全来源”

例如,Chrome 需要、https或扩展程序。见https://stackoverflow.com/a/46671627/6371459wsslocalhost

您需要设置 SSL 连接才能使用 webcrypto。如果您想使用其他库(forge、pki.js 等),则不会有此限制,但建议在使用密码学时使用 SSL/TLS。


推荐阅读