Tag: encryption

FMDB和encryption

我正在使用FMDB来处理sqlite,我宁愿避免依赖于SQLCipher。 我如何简单地利用iOS内置的DataProtectionfunction? 这是否可能 – 唯一的要求是在电话被盗时保护数据。 如果手机是用PIN码解锁的,那么用户可以访问数据库就可以了 – 这是他们的数据。

在iOS中保存encryption密钥的安全方法

在我的iOS4 +应用程序中,我在几个地方使用AESencryption,整个应用程序必须非常安全。 为了做到这一点,我必须硬编码在这个应用程序中的几个键,然后随机挑选,当我需要encryption的东西… 我的问题是如何存储这些私钥? 使用NSString它们进行硬编码是否安全? 要么 #define SecretKeyString @"febd9a24d8b65c1c787d50a4ed3619a9" 如果用户安装了这个应用程序越狱iPhone,他不能得到这些硬编码的密钥? 我怎样才能最有效地隐藏它们? 感谢您的任何build议…

iPhone:如何将SecKeyRef或包含公钥的位的NSData导出为PEM格式?

我使用SecKeyGeneratePair创build了一对密钥。 我现在想把公钥传给服务器,但是我不确定如何继续。 我有一个函数getPublicKeyBits (取自苹果的CryptoExercise ),但我真的不知道如何处理原始的NSData。 这是function: – (NSData *)getPublicKeyBits { OSStatus sanityCheck = noErr; NSData* publicKeyBits = nil; NSData* publicTag = [[NSData alloc] initWithBytes:publicKeyIdentifier length:sizeof(publicKeyIdentifier)]; CFDataRef cfresult = NULL; NSMutableDictionary * queryPublicKey = [[NSMutableDictionary alloc] init]; // Set the public key query dictionary. [queryPublicKey setObject:(__bridge id)kSecClassKey forKey:(__bridge id)kSecClass]; [queryPublicKey setObject:publicTag forKey:(__bridge id)kSecAttrApplicationTag]; [queryPublicKey setObject:(__bridge id)kSecAttrKeyTypeRSA […]

如何在ios中用RSA公钥encryption和解密string(纯文本),swift

我想用我的RSA公钥Encrypt一个string(纯文本)。 我有一个public key ,从服务器发送一个String并与我创build一个RSA公钥。 现在我想使用该密钥来Encrypt我的文本与填充PKACS12 。 我怎样才能做到这一点。 我经历了很多堆栈溢出问题,并没有得到任何成功。 这是我如何创buildRSA public key , let serverPublicKey = "Some text with key" let data2 = Data.init(base64Encoded: serverPublicKey) let keyDict:[NSObject:NSObject] = [ kSecAttrKeyType: kSecAttrKeyTypeRSA, kSecAttrKeyClass: kSecAttrKeyClassPublic, kSecAttrKeySizeInBits: NSNumber(value: 2048), kSecReturnPersistentRef: true as NSObject ] let publickeysi = SecKeyCreateWithData(data2! as CFData, keyDict as CFDictionary, nil) 这将成功创build一个RSA public key 。 现在我想用这个密钥来encryption我的另一个Plain […]

使用Objective C在iOS中使用公钥对string进行encryption或签名

我有一个私钥。 以“—开始私人密钥…”开头的文本文件 我想用这个密钥来encryption一个NSString。 因为它的私钥,最好把它称为一个NSString。 这可以做到没有任何外部框架? 结果应该相当于php的openssl_sign函数。

如何从OpenSSLencryption数据获取初始化向量(iv)

免责声明:新encryption。 我有一个使用OpenSSL来encryption数据的外部进程,现在它使用salt。 iPhone应用程序从服务器获取数据,将其下载到应用程序的文档目录,并需要解密。 iPhone OS不包含OpenSSL库。 你可以自己构build它,但这很困难和棘手。 我find的“最简单”的解决scheme,感谢Stackoverflow的帮助,是使用CommonCrypto/CommonCryptor.h ,它是安全框架的一部分。 但是解密数据的C函数需要iv才能正确解密。 有没有一种方法来从encryption的数据(这对我来说,似乎会否定额外的安全性)导出iv? 或者我需要,首先,以某种方式指定iv,让iPhone应用程序知道它是什么? 或者,不要使用盐? 编辑1:为了澄清,我使用OpenSSL来encryption数据文件中的文本。 使用OpenSSL的脚本将文本encryption,上传到Dropbox ,然后应用程序从Dropbox下载文件,parsing文件,并尝试解密文本。 编辑2:是的,我正在使用OpenSSL命令行实用程序与-pass选项。

使用AES-128encryptioniOS播放离线HLS

我想通过AVFoundation在iOS中集成脱机HLS。 我有一个简单的AES-128encryption的HLS,它不想在离线模式下播放,我试图集成AVAssetResourceLoaderDelegate但不知道如何集成https://developer.apple中的 applicationCertificate & contentKeyFromKeyServerModuleWithSPCData 。 com / streaming / fps / examples。 我有一种感觉,我做错了,它是一个AES-128 encryption样本,甚至不是DRM 。 没有互联网, AVPlayer仍然试图通过GET请求获得encryption key 。 如果有人成功地将encryption的密钥保存在本地,并以某种方式将其与AVURLAsset一起交给AVPlayer ,那AVPlayer AVURLAsset 。 有人设法整合这个?

任何人有问题的iOS 5encryption?

有一个(相当复杂)的应用程序,在iOS 4上正常工作,但在解密问题的iOS 5上失败。 它解密一个SQLite数据库页面,最后16个字节似乎没有被正确解密。 这是否与任何人打铃? 更新 我已经确定,当CCCryptorUpdate的缓冲区长度为1008(1024 – 16)时,它只解密992个字节(在dataOutMoved参数中报告)。 如果CCCryptorFinal返回剩余的字节,这将是确定的,但它报告零字节移动。 但是,CCCryptorFinal正在报告一个-4304的返回码(这是一个无用的kCCDecodeError)。 更新2 我已经把它作为一个彻头彻尾的bug。 我已经比较了byte-to-byteencryption和input解密的输出,并比较了这些密钥。 相同。 但是,如果缓冲区长度是1008,那么解密总是失败,甚至当解密器被给予更大的输出缓冲器时(它表示在这种情况下它需要1024)。 我认为它可以正常工作1024,但我还没有经过第一个奇怪的大小缓冲区告诉。 等等 那么,似乎没有什么解密。 这是使用“一体化”CCCrypt()接口,以消除CCCryptorCreate / Update / Final的sorting错误的机会。 我不知道这是AES128的问题吗? 奇怪的是,当数据库的第1页被encryption时,encryption总是报告比我告诉的更多的16个字节 – 如果我告诉1008它报告1024,如果我告诉它1024报告1040.没有其他页面这样做,我不知道CCCrypt如何知道它正在处理的页面。 就像我说的,好奇。 发现它(我认为) 旧的代码是指定kCCOptionPKCS7Padding ,据我所知,它应该只用于encryption缓冲区长度不是块长度的倍数(并提供额外的输出缓冲区空间)。 这导致几乎所有的解密操作都以-4304失败。 但是在iOS 4中,操作仍然会移动他们解密的数据(实际上是所有的数据),而iOS 5发生了变化,如果操作失败(最后一个块几乎总是失败),所有数据移动都被抑制。 closures填充选项使代码工作,不会发布任何错误。

XOR或其他简单文件混淆方法ios的目标c

我正在使用受版权保护的PDF文件的ios应用程序。 我正在寻找一些简单的方法来混淆文件的安全性,不需要我通过额外的大众市场CCATSencryption审查过程,但也将确保版权持有人,我已经做了我的一切,以保持他们的数据safa。 当然,我的密码保护文件,但我想进一步把它一两步。 是否有一个简单的方法来XOR或以其他方式散列或混淆我将在我的服务器上托pipe的PDF文件,然后让ios设备下载它并使用objective-c代码将其恢复到正规的受密码保护的pdf文件,以便它可以保存它在文档目录中(我不担心它在设备上的安全性,就像它坐在服务器上一样)。 我认为这将是任何文件types相同。 所以澄清,我正在寻找一个简单的XOR或哈希混淆/encryption方法在我的桌面上有相应的目标c代码ios设备可以用来快速解码我的文件下载后,并将其保存到文件目录。 非常感谢! 这里是一个关于CCATS限制的答案,供参考… 如果使用简单的XOR密码,是否需要申请CCATS?

手机应用程序中的本地存储保护

我应该开发一个phonegap应用程序。 我需要encryption我的请求到服务器端,然后解密 。 HTTPS不是解决scheme,因为我需要签名请求以确保数据不是假的。 我可以使用任何asynchronousencryption(应用程序将生成private/public公钥,并将公钥发送到服务器)。 但是这样我需要保留我的私钥在设备上。 问题是:我怎样才能保密私钥在设备上? 我可以使用sqlclipher (encryption我的本地SQLite数据库 ), 并将其集成到我的phonegap应用程序 。 太好了,但是在这里我必须保密数据库的密钥:) var db = window.sqlitePlugin.openDatabase({name: "DB", key: "secret1"}); 任何人都可以获得这个密钥。 所以在这里我有同样的问题:) 请给我任何build议。 谢谢! 适用于iOS和Android的ps应用程序