问题标签 [commoncrypto]

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 投票
1 回答
4672 浏览

iphone - lib commonCrypto 不适用于 iOS 模拟器?

我一直在将 libCommonCrypto.dylib 添加到我的项目中以进行 md5 哈希验证。在 iPhone (iOS 5.1) 上一切正常,但是当我尝试在模拟器上运行它时,我收到此错误:

我有点不知道为什么会这样。我将 commonCrypto 添加到项目目标 -> 构建阶段 -> 将二进制文件与库链接。是否需要任何其他步骤才能使其在模拟器中也能正常工作?

0 投票
2 回答
1738 浏览

iphone - 如何为 iOS 4 编译和使用 CommonCrypto?

由于 CCKeyDerivationPBKDF 直到 iOS 5.0 之后才可用,人们建议使用此处提供的 CommonCrypto 的开源代码:

http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-55010/

我的问题是——如何在现有项目中使用这个开源代码?我们应该创建 dylib 并以某种方式将其包含在项目中,还是获取源代码文件并将它们添加到现有项目中?你如何在 Xcode 中做到这一点?您如何确保在 iOS 4 设备/模拟器上运行时找到该功能?

谢谢。

0 投票
1 回答
338 浏览

iphone - 我不知道如何在 iPhone 中 md5 我的密码,或者如何开始

我不知道如何在 iPhone 中 md5 我的密码,或者如何开始。我试图了解 CommonCrypto 之类的东西。会有帮助吗?急求建议~谢谢~

0 投票
1 回答
4528 浏览

ios - iOS CCCrypt kCCDecrypt 使用 kCCAlgorithmAES128

这是代码:

当我在 kCCDecrypt 上使用 kCCOptionPKCS7Padding 时,有时我会收到错误代码 4304。我尝试在 kCCDecrypt 时不使用填充,如此处所述还有其他人在使用 iOS 5 加密时遇到问题吗? 我没有得到错误。但有时 kCCDecrypt 后的数据长度与 kCCEncrypt 前的原始数据长度不同。我认为这是因为原始数据长度没有乘以编码块大小。

其他人有这个烦恼吗?

0 投票
1 回答
1113 浏览

macos - Mac OS X:kSecPublicKeyAttrs 未声明的标识符

我正在尝试在我的 Mac OS X 应用程序中生成 RSA 密钥,我使用以下代码:

如果我尝试构建 kSecPublicKeyAttrs 是一个未声明的标识符,我不知道为什么。有人可以帮忙吗?

问候,菲利普

0 投票
1 回答
4235 浏览

iphone - iOS 上的 AES-256 加密不会产生与 openssl 相同的结果

我已经看了好几个小时了。我拼命想让iOS使用AES-256加密来加密一小段文本,然后可以通过openssl解密。

直线前进?没有。

我为 iOS 找到的代码与 openssl 的密钥和 IV 不兼容,所以我不得不对其进行调整,但它显然不起作用。

所以这是我正在使用的加密代码......传入一个字符串来加密(dataString)一个字符串密钥(key)和一个字符串初始化向量(iv)......

对于要编码的相同字符串,这不会产生与使用具有相同键和 iv 的 openssl 时相同的值......例如这个命令行:

secrets.txt 只是一个包含要加密的字符串的文本文件

这会输出如下内容:

而要解密,则做相反的操作(假设上面加密的最后一行数据在 test.secrets.out 中)

现在,如果我使用 4 个字符的 key 和 iv,这在 iOS 中编码不正确。如果我使用全长密钥和 iv,这也不会正确编码。

基本上,这是一个检查,如果我发送一段加密数据,它是正确的数据。

我错过了什么?

我查看了一些代码以尝试找到答案...

http://robnapier.net/blog/aes-commoncrypto-564

https://github.com/rnapier/RNCryptor

http://pastie.org/426530

在这里也进行了广泛搜索,但找不到答案。

任何帮助表示赞赏。

0 投票
0 回答
3230 浏览

ios - SecKeyGetBlockSize 或 SecKeyRawVerify for Public Key throw EXC_BAD_ACCESS code=2

在尝试从 Apple 的示例中实现 Security.Framework SecKeyRawVerify iOS 函数时,程序因指针错误错误(EXC_BAD_ACCESS 代码=2)而停止。任何帮助或建议将不胜感激。

这是我的代码:

链接到 Apple CryptoExcersize:http: //developer.apple.com/library/ios/#samplecode/CryptoExercise/Introduction/Intro.html#//apple_ref/doc/uid/DTS40008019-Intro-DontLinkElementID_2

0 投票
1 回答
2151 浏览

objective-c - 用 Common Crypto 替换 OpenSSL 依赖?(Mac App Store 收据验证)

我的理解是OpenSSL 在 OSX 10.7 中被弃用,取而代之的是 Common Crypto,但我似乎无法很好地处理如何从 OpenSSL 代码转换为 Common Crypto 代码。特别是,我正在使用 ValidateStoreReceipt 查看 App Store 收据验证。我首先尝试找到一种方法来获取 PKCS#7 容器的内容,这似乎是 PKCS#7 容器的第一步dictionaryWithAppStoreReceipt,但我找不到任何有关如何执行此操作的文档。

是否可以重写此代码以免依赖于 OpenSSL?如果是这样,怎么做?是否有我错过的文档或教程?

0 投票
1 回答
2546 浏览

objective-c - CCCrypt解密结果-4304

当我加密一个字符串然后立即解密时,CCCryptorStatus 是 -4304 并且得到的解码字符串的长度不正确。谁能看到我可能做错了什么?

0 投票
3 回答
1221 浏览

ios - How to securely store an AES key on the iPhone

So I was going about implementing AES encryption of data on an iPhone app, when I was puzzled by how to store the encryption key. I can easily enough encrypt data using a user-entered password, the encryption key. However, if I store the key unencrypted, the encryption is useless as anyone with access could easily enough decrypt the data with the readily-available encryption key. I could encrypt the key, but then there would be another unencrypted key floating around and someone could just follow the chain down to the data. It seemed clear that I could not store the key, so I thought that I could have the key be only in the user's mind. It would be very secure, but I would have no way to check if the decryption worked correctly and all data would be lost in the event that the user forgot their password, which is unacceptable.

Essentially, how can I securely store an encryption key for AES?

I'm sure this situation has been encountered before, as other questions have shown, but they seemed web-focused. I am interested in an iPhone-centric solution, potentially using CommonCrypto?