问题标签 [webcrypto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
34 浏览

javascript - 无法将 CryptoKey 发送到 Express 服务器

在客户端上,我正在使用API生成一个CryptoKeyPair对象。WebCrypto我想使用 fetch API 将此密钥对发送到我的快速服务器,但我得到的req.body只是一个空对象。为什么会这样?

生成密钥:

发布请求:

不,这不是bodyParser中间件的问题。我已经正确配置了它。JSON.stringify(keyPair.publicKey)本身正在将对象变为空

0 投票
1 回答
74 浏览

javascript - 如何使用 Subtle 的密码学 API 销毁密钥?

在 WebCrypto/Subtle 加密 API 中,您可以生成密钥等等。然而,似乎明显缺乏.destroyKey()或类似的东西。

是否在引用计数达到零或类似情况时清理键?有没有办法从内存中显式销毁/删除密钥?

请注意,我担心的不是安全问题,因为我知道这不会带来太多的安全好处,尽管我担心资源泄漏等问题。无法明确地清理自己的自我感觉很奇怪。

0 投票
1 回答
39 浏览

javascript - 登录 Javascript 并在 Flask 中验证

使用现有库在 Javascript 中签名和验证很容易。但是,如果我们想在 Javascript 中生成公私密钥对,对文本进行签名,然后在 Flask 中进行验证,就会很混乱。我已经知道一些差异,例如 Javascript 端的默认哈希值与 python 端的默认哈希值。但是,Flask 端的验证仍然失败。

索引.html

验证.py

0 投票
0 回答
81 浏览

javascript - 如何将 webCrypto 导出的原始密钥共享到后端?

我正在使用这样的网络加密 API 生成对称密钥

我想将此生成的密钥发送到后端服务(Java API 将使用此密钥进行解密)。我打算使用 RSA 加密此密钥并将其发送到后端服务。

是否可以与后端服务共享此原始密钥?

有什么方法可以将此 cryptoKey 转换为字节数组或字符串?

0 投票
1 回答
325 浏览

java - 无法使用 WebCrypto 验证 ECDSA 签名

我正在尝试通过 WebCrypto 验证 ECDSA 签名并失败。签名是使用 Java(Bouncy Castle)创建的。使用的曲线是 secp256r1,并且 SHA256 哈希用于签名创建。然后我尝试在 Java 中使用 RSA (SHA256) 创建签名并尝试在 WebCrypto 中验证并成功。这似乎是 ECDSA 特定的问题。在 java 中,我在 SPKI 中导出了公钥,然后在 WebCrypto 中成功导入。什么可能导致 WebCrypto 无法验证基于 ECDSA 的密钥。

java中可验证的签名:

0 投票
1 回答
126 浏览

javascript - End2End 加密 IOException:algid 解析错误,不是序列

我正在使用本机浏览器加密 API 生成公钥和私钥,如下所示:

然后我将publicKey使用下面的exportKey函数导出window.crypto.subtle

如果您有任何建议,请告诉我并帮助我解决此问题。

0 投票
1 回答
1134 浏览

swift - 评估JavaScript WKWebView iOS 15不工作

我正在使用 WebCrypto 库来解密数据,但它不适用于 iOS 15 它在 iOS 14 中运行良好

我检查了 webView 的 evaluateJavaScript 函数是否抛出错误

0 投票
1 回答
70 浏览

cryptography - 在浏览器端解密加密的 RSA 私钥

我有一个加密的 RSA 私钥:

我需要通过密码解密它,基本上我需要相当于

在浏览器端,使用基于 Angular 的客户端,使用 webcrypto 和 pkijs。