javascript - 没有 ssl 的 Web 加密 API
问题描述
我写了一个用于安全消息传输的小 Web 应用程序以了解有关加密的更多信息,并想将它展示给我的朋友并让他们玩一点,所以我将它托管在我的小服务器上,并震惊地发现 Web Crypto API(我拼命开始工作,因为它的错误消息不是很具体)需要 SSL(有点违背在浏览器中实现自己的加密方案的目的)!
我已经在该服务器上使用 SSL 运行了另一个 API,但我不想合并它们,而是想问:有没有办法绕过 Web Crypto API 的安全套接字要求,或者是否有另一个库允许我使用非安全上下文中的相同或相似功能?
解决方案
WebCrypto API 规范 ( https://www.w3.org/TR/WebCryptoAPI/ ) 不限于 SSL,但浏览器实现需要“安全来源”
例如,Chrome 需要、https
或扩展程序。见https://stackoverflow.com/a/46671627/6371459wss
localhost
您需要设置 SSL 连接才能使用 webcrypto。如果您想使用其他库(forge、pki.js 等),则不会有此限制,但建议在使用密码学时使用 SSL/TLS。
推荐阅读
- python - 如何在我的脚本中添加身份验证步骤?
- sqlite - 如何修复错误:“无法启用约束。一行或多行包含违反非空、唯一或外键约束的值”
- php - 使用 laravel 存储数据
- angular - Angular 10:VScode 在某些目录的绝对路径上出错,而不是其他目录
- python - 熊猫数据框到具有特定格式的字典
- sql - 使用 sp_send_dbmail 查询不使用参数
- python - Pandas 根据 ID 列生成一列随机数
- jsf - Omnifaces:o:socket 与 o:commandScript 或 f:ajax 并避免 ajax 请求
- java - 有没有办法在 android 中使用 MediaRecorder 录制系统声音?
- r - R - 优化 X,使得所有 n 的 min(sum(X_i)),其中 X_n + X_(n-1) + X_(n-2) >= Y_n,其中 Y 对所有 n 都是已知的