问题标签 [webcrypto-api]
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.
javascript - IE 10 和 android 4.x 上的 webcrypto 解决方案
这是一种在 IE10 和 Android4.x 上找到支持 webcrypto 的 polyfill 的方法吗?我为 IE11 找到了 webcrypto-shim。
我需要 JavaScript 中 Jose-jwt 插件中的 webcrypto 来对某些数据进行客户端加密
encryption - WebCrypto:使用 crypto.subtle.importKey 导入具有模数和指数的 rsa 公钥
我通过 jsbn 生成了 rsa 密钥:
“e”是指数,“n”是模数
我想使用crypto.subtle.importKey
.
这是我发现的错误:
DOMException:无法对 JWK 成员“n”进行 base64url 解码或包含填充
有谁知道问题出在哪里?
看看我下面的代码。
import - WebCrypto: importing private key for decrypt by crypto.subtle.importkey(...)
I want to import private key by web crypto. This is my code:
The error that I found is "DOMException" and PromiseValue is "undefined".
I'm running in Mozilla Firefox and Chrome. This is my key:
I don't know where is the problem. It works for importing public key.
key - 通过jsbn库加密,然后通过WebCrypto解密
我们使用 jsbn 库 PKCS#1 加密样式填充来加密消息。现在我们想为网络加密更改 jsbn 库。
AES 密钥没有问题。问题在于 RSA 密钥。
我已经通过 jsbn 库加密了消息。是否可以使用 RSA 密钥通过网络加密解密消息?
WebCrypto 文档仅支持 RSA-OAEP 算法进行解密,是否可以使用 PKCS (RSASSA-PKCS1-v1_5) 算法?
javascript - 如何通过 WebRTC 数据通道发送有效负载和加密签名?
我有一个用例,其中对等方必须使用 WebRTC 数据通道向另一个对等方发送消息和签名。不幸的是,使用 WebCrypto 生成的签名是一个 ArrayBuffer,这意味着当我使用 JSON.stringify() 发送对象时,签名会丢失。
有没有一种方法可以对 ArrayBuffer 签名进行编码,使我能够通过数据通道传输字符串化对象,而不会影响接收端的签名?
cryptography - 带有 SHA-1 的 importKey alg RSA-OAEP 在 safari 11 上不起作用
按键操作问题出现在 Outlook for mac 和 Safari 11 上。当我在 Mac 上尝试 Chrome/Firefox 时,它运行良好。
我使用 js 的 webCrypto 库: https ://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
此外,另一个需要解决 safari 问题的加密库: https ://github.com/vibornoff/webcrypto-shim
它停留在“importKey”功能的级别:
我得到的错误 : OpeartionTypeError :Member JsonWebKey.kty 是必需的,并且必须是 DOMString 的实例。
我读了这个问题:Safari WebCrypto API RSA-OAEP encryption and the solution accepted using 'RSA-OAEP' alg and hash of 'SHA-1' 但无论我尝试更改什么,我总是得到相同的错误。
我不确定 webcrypto 的所有其他功能是否可以在 safari 11 上运行,但不是我坚持这一点。
非常感谢。
javascript - 如何 ES6 代理 ArrayBuffer 或 Uint8Array?
这些工作:
这些不会:
错误:
Failed to execute 'digest' on 'SubtleCrypto': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'
instanceof Uint8Array
并instanceof ArrayBuffer
在两种情况下都返回 true。
google-chrome - 如何在 Chrome 中为不安全的来源启用 crypto.subtle?
在 Chrome 60 中,他们添加了一项禁用非 TLS 连接的功能。出于安全原因,crypto.subtle
我们的产品需要运行本地服务器并转发一些安全的远程连接。localhost
因为localhost
它在技术上不是一个命名域,所以我们不能使用 TLS——实际上导致crypto.subtle
在 Chrome(以及像 Opera 这样的基于 chromium 的浏览器)中无法使用,并迫使我们使用像asmCrypto.js这样的安全性较低的 shim 。有没有办法告诉 Chromecrypto.subtle
通过标题启用?有什么方法可以在我们可以告诉用户的设置中禁用新功能(最坏的情况)?
javascript - 使用 WebCryptography API 获取 CryptoJS 单词
我正在使用 Google 的 CryptoJS 将功能迁移到浏览器原生 WebCryptography API。
使用 CryptoJS,我使用以下代码获取 SHA1 哈希的 words 数组
它返回[888149035, -1762573935, 1178769020, -1914057363, 481296384]
使用 WebCrypto API,我使用
并且hashArray
是[52, 240, 20, 43, 150, 241, 65, 145, 70, 66, 150, 124, 141, 233, 205, 109, 28, 176, 0, 0]
如何将此结果转换为与 CyptoJS 相同的数组?
javascript - JavaScript WebCrypto importKey 错误:AES 密钥数据必须是 128 或 256 位
我正在尝试导入现有密钥,但我得到的是:“AES 密钥数据必须是 128 或 256 位”
我有一个从 0 到 255 的 128 int 的 ArrayBuffer,即使我用 Uint8Array 包装它也无法正常工作。即使是新的 Uint8Array(128) 也会返回相同的错误。