问题标签 [apple-cryptokit]

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 回答
469 浏览

ios - 如何在 JavaScript 中解密 Swift CryptoKit chacha20-poly1305 密码?

我使用 CryptoKit 的 ChaChaPoly 快速加密了一个字符串:

现在我无法将加密和解密功能移植到 Javascript。

基于sealedBoxData 的base64 字符串,我能够提取IV(随机数)和部分密文。

从 CryptoKit 获得的 base64 密文sealedBox.ciphertext给了我J22r4vrKmWuY8a2DNpg=,但 sealBoxData base64 字符串只包含J22r4vrKmWuY8a2DNp. 我不知道如何sealedBox.tag转换为最终的 sealBox b64 字符串。

如何在 Javascript 中提取正确的密文和标签?如何以 swift 的 chachapoly 函数能够解密的方式使用 JS 加密文本?


我尝试使用这个JS 库来加密和解密 chacha20poly1305 密码,但我无法从中得到一个工作示例。:(

这个stackoverflow 问题与我面临的问题非常相似,除了我使用的是 chachaPoly 和 JS。

感谢您的时间。:)

0 投票
2 回答
289 浏览

swift - 使用 CryptoKit 的大文件的 SHA-256

有谁知道无需将整个文件加载到内存中即可计算文件的 de SHA-256 哈希的方法?

我将是使用苹果的 CryptoKit 库的理想选择

0 投票
1 回答
609 浏览

swift - CryptoKit 上的 HMAC 更新

我是 CryptoKit 的新手,我正在努力将此代码从 Node.js 转换为 Swift(使用 CryptoKit)。

我在 Swift/CryptoKit 上所做的是:

但我不知道如何处理第二行。在 Ruby 上,它可以通过这种方式完成:

但是 CryptoKit“没有”这种方法,有什么想法吗?

0 投票
1 回答
45 浏览

swift - 如何从 AES.GCM.Nonce 获取数据 obj - swift

我正在使用AES.GCM.seal(textData, using: retrievedKey), 来加密一些信息。我需要encrypted.nonce作为数据访问。我如何实现这一目标?

0 投票
1 回答
700 浏览

java - 尝试解密时 CryptoKit 身份验证失败

我正在尝试使用 SymmetricKey 解密有效负载。我已经尝试使用 ChaChaPoly 和 AES.GCM 打开sealedBox,但我仍然得到CryptoKit.CryptoKitError.authenticationFailure 这是我的实现:

我也知道后端的实现是怎样的:

0 投票
0 回答
142 浏览

sjcl - CryptoKit - 用公钥加密?

为了给你上下文,有一个开发项目的 API 的开发人员,并且有一部分 json 将被加密。所以我必须破译他的内容。他列出了我在 iO 方面需要的所有功能。

所以我有他的javascript代码,我必须迅速重做等效的代码。他使用 JS 库(SJCL):https ://github.com/bitwiseshiftleft/sjcl/

我正在尝试使用公钥加密一些文本,但我不能。

首先,我生成了私钥/公钥

现在,我正在尝试使用公钥加密文本..

在这里,他的 javascript 代码:

我不明白如何使用 CryptoKit 快速做同样的事情:/

你能帮我吗 ?:)

0 投票
0 回答
69 浏览

ios - 如何在 CoreData 的 ValueTransformer 中使用 CryptoKit 加密用户的敏感数据?

我想在使用 ValueTransforment 和 CryptoKit 将用户信息存储到数据库之前对用户信息进行加密,以避免在应用程序中存储解密密钥。从数据库中获取后需要再次解密存储的信息。

在下面的示例中,我们可以使用签名/非对称来加密 ValueTransformers 中的数据吗?这会避免在应用程序中存储解密密钥吗?存储

0 投票
2 回答
200 浏览

java - 解密由 Web 服务中的加密套件加密的值 - 对称密钥?- 更新了下面的完整工作代码

如何在 Web 服务端解密我的 iOS CryptoKit 加密值?

类似于这个 SO 问题: Java 中的 CryptoKit

或者这个 SO question

我可以创建自己的 SymmetricKey,我们都知道字符串吗?如何在 Java PhP 或 .NET 中解密我的值?(我了解所有这些语言并且可以翻译,该应用程序目前在 php 中)

Apple 在他们的操场上的代码:

链接到游乐场

0 投票
0 回答
65 浏览

ios - iOS 和 Android 在 SHA512 中生成不同的哈希值

我们需要验证来自服务器的哈希值。Android 部分正在运行。在 iOS 端,我们使用 CryptoKit 来生成哈希值。作为参数传递“jsonString”,需要从中生成哈希键和需要匹配的“hasValue”。虽然这两个函数使用相同的算法,但结果总是不同的。

让摘要 = SHA512.hash(数据:jsonStringWithSaltBytes)

让 hasBytes = digest.bytes

在 computeHas 函数中,当我们尝试获取let hasBytes = digest.bytesSHA512.hash 字节转换后它总是给出不同的 HashBytes。

0 投票
1 回答
197 浏览

ios - IOS:无法从 CryptoKit SecureEnclave 私钥创建 SecKey 表示(OSStatus 错误 -50 - 从数据创建 EC 私钥失败))

SecureEnclave我正在尝试在with中创建一个私钥/公钥对CryptoKit,然后保存对私钥的引用以KeyChain供进一步使用。密钥生成完全正常:

但是当我尝试将刚刚创建的密钥转换为SecKey稍后将其存储在钥匙串中时:

它失败并出现错误:

另一方面,当我删除SecureEnclave元素并使用时,x963Representation我能够将私钥转换为SecKey对象:

关于为什么会发生这种情况或我该如何解决这个问题的任何想法?