问题标签 [subtlecrypto]
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 - 如何使用 Subtle 的密码学 API 销毁密钥?
在 WebCrypto/Subtle 加密 API 中,您可以生成密钥等等。然而,似乎明显缺乏.destroyKey()
或类似的东西。
是否在引用计数达到零或类似情况时清理键?有没有办法从内存中显式销毁/删除密钥?
请注意,我担心的不是安全问题,因为我知道这不会带来太多的安全好处,尽管我担心资源泄漏等问题。无法明确地清理自己的自我感觉很奇怪。
javascript - 加密微妙解密参数未键入“CryptoKey”
我正在尝试使用预先生成的 SubtleCrypto 解密字符串。
我没有得到解密的文本,而是得到了错误:无法在“SubtleCrypto”上执行“解密”:参数 2 不是“CryptoKey”类型。
我已经尝试研究该错误,但没有遇到与此类基本示例相关的任何内容。我究竟做错了什么?
javascript - JS SubtleCrypto RSA 加密和解密
所以我试图实现一些方法来加密然后解密一些数据。我对此没有任何经验,并且我尝试在网上关注一些有关如何解决此问题的帖子。
当我将加密的“你好”传递给解密函数时,我得到了这个:
当我使用来自我看到的 PKCS#8 帖子之一的加密消息时,解密功能可以正常工作,但在我生成自己的密钥时不能正常工作。
这是代码我做错了什么?
encryption - RSA SubtleCrypto 解密期间的 DOMException
我正在尝试使用SubtleCrypto加密字符串、存储加密字符串并再次解密该字符串,所有这些都使用生成的 RSA-OAEP 密钥对。
下面的代码在解密阶段会产生一个 DOMException,但是我似乎无法获得有关该错误的任何详细信息。我尝试使用“SHA-1”进行散列,但有同样的问题。
有什么提示吗?
javascript - WebCrypto 在 base64 中生成 ECDSA 签名
我想生成一个 ECDSA 签名并将其转换为 base64。
我可以使用 Nodejs 轻松完成此任务:
但是,当我尝试对 Javascript SubtleCrypto API 执行相同操作时,生成的签名在使用 Node Crypto 验证时无效。这是我的代码:
我错过了什么?
javascript - 无法在 Crypto 中重现 SubtleCrypto
我有一些代码利用 SubtleCrypto 加密密钥并将其存储在数据库中。
对于另一个功能,我必须能够在 Node 12 中对其进行加密。没有 SubtleCrypto,我必须在 Crypto 中重新创建功能。
我得到相同大小的输出,但它似乎无法被 SubtleCrypto 解密,我试图找出我哪里出错了。
这是在浏览器上使用 SubtleCrypto 运行的代码:
如果没有 SubtleCrypto,在 Node 12 中,我不得不使用 Crypto 库。这是我当前的代码迭代。
包装的密钥在两种实现中具有相同的大小,但由 Node 生成的密钥不能在浏览器中展开。
我假设一些默认值是错误的还是什么?
javascript - 如何在 window.crypto.subtle 中使用 RSA 为多个收件人加密?
我需要使用 window.crypto.subtle.encrypt() 来加密多个收件人公钥。
这是我现在的代码:
participantKeys
在这种情况下是一组公钥,目前这只是对数组中的第一个公钥进行加密。我需要加密数组中的所有公钥。
我尝试为 encrypt() 函数提供整个数组,但它对我不起作用。
有一个更好的方法吗?
javascript - 加密大数据
当我加密 190 字节或更少字节时,以下代码可以正常工作。但如果我尝试 191 或更多,则会引发异常。加密较大数据的正确方法是什么?
javascript - 如何在 CryptoJS 解密 AES SubtleCrypto [window.subtle.crypto]
我正在尝试从仅浏览器的 window.subtle.crypto 迁移到 CryptoJS,因此它在使用 Expo 的所有平台上普遍可用。
本质上:window.subtle.encrypt({name: AES-GCM}) -> CryptoJS.AES.decrypt
对于已加密的现有数据,CryptoJS 应该能够使用 window.subtle.generateKey 中的 AES 生成的密钥对其进行解密,因此 window.subtle.encrypt 的方法无法更改,其操作如下所述
我想解密window.subtle.encrypt
CryptoJS 的加密CryptoJS.AES.decrypt
所以为此,我编写了这个测试代码:
我已经看到 CryptoJS 只接受 WordArray,并且来自微妙加密的加密对象 ['encryptedObject'] 的输出是 ArrayBuffer [46 大小],我尝试通过将 ArrayBuffer 转换为 WordArrayCryptoJS.lib.WordArray.create(encryptedObject)
但仍然没有运气。
任何帮助或指导表示赞赏,非常感谢!
rsa - 使用 RSA 在 JS 中加密消息并在 Python 中解密
我想使用 RSA 和 Javascript 中提供的 PEM 公钥加密消息,使用 SubtleCrypto window.crypto.subtle
,然后在后端使用 Python (PyCryptodome) 对其进行解码。但是,我得到一个ValueError: Incorrect decryption.
. 我不确定数据是否得到正确处理。这是我的代码:
JavaScript:
上面的代码所做的是转换公共 PEM 密钥,从中生成一个 CryptoKey 对象(使用 crypto.subtle.importKey),然后加密一个简单的消息“test14”。
Python后端: