我发现build立非FIPS openssl for arm64的参考,但我需要build立FIPS版本。 像https://github.com/GotoHack/iOS-openSSL-FIPS这样的项目构buildarmv7版本,但我似乎无法将它们扩展到arm64。 有没有人成功做到这一点? 我使用os-x编译,目标是IOS
我在我的Android / iOS应用程序中使用最新的PJSIP库。 我想在我的项目中使用TLSv1.2连接。 PJSIP支持哪个TLS版本? 从源代码似乎是支持TLSv1.0。 有没有办法将TLSv1_2支持添加到PJSIP库?
我正在尝试使用openssl_verify()来validation$publicKey 。 这是我的代码: $publicKey = openssl_pkey_get_public($_POST['publicKeyURL']); $playerID = $_POST['playerID']; $timestamp = intval($_POST['timestamp']); $signature = base64_decode($_POST['signature']); $salt = base64_decode($_POST['salt']); $payload = $playerID . $bundleID . $timestamp . $salt; $status = openssl_verify($payload, $signature, $publicKey); openssl_free_key($publicKey); if ($status == 1) { /* */ } 我收到以下错误: openssl_verify()提供的key参数不能被强制转换成公钥 POST信息来自使用此Game Center方法的iOS应用程序。
我使用OpenSSL为我的应用程序创build了一个CA,服务器和客户端证书。 当我查看configuration文件时,根CA显示为“可信”,但是我的服务器和客户端证书(由我的CA签名)显示为“不可信”。 这些证书显示为由根CA签名,并在IE或Chrome下正常工作 。 为什么这些不工作? 任何方式来debugging为什么他们显示为“不信任”?
我有很多代码片断,用AES128encryption数据(如果你提供你的工作实现,我将非常感谢)例如这个: – (NSData*)AES128EncryptWithKey:(NSString*)key { // 'key' should be 16 bytes for AES128, will be null-padded otherwise char keyPtr[kCCKeySizeAES128 + 1]; // room for terminator (unused) bzero(keyPtr, sizeof(keyPtr)); // fill with zeroes (for padding) // fetch key data [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger dataLength = [self length]; //See the doc: For block ciphers, the output size […]
我正在使用苹果的安全框架 。 我能够签署,然后成功validation所有在OS X上,但是当我尝试在iOS上使用SecKeyRawVerify它失败-9809错误。 我已经玩过各种PKCS填充选项和许多其他属性,但我只是无法得到这个来validation正确。 请注意,下面的代码可能已经泄漏到各地,只是试图让这个function正常第一。 OS X签署代码: NSData* signData(NSData* plainData, SecKeyRef privateKey) { CFErrorRef error; /* Create the transform objects */ SecTransformRef signer = SecSignTransformCreate(privateKey, &error); if (error) { CFShow(error); exit(-1); } /* Explicitly set padding type (necessary?) */ SecTransformSetAttribute(signer, kSecPaddingKey, kSecPaddingPKCS1Key, &error); if (error) { CFShow(error); exit(-1); } /* Specify digest type */ […]
我在这里看到几个问题,但没有一个帮助我。 人们主要解决的问题是重新生成服务器证书: kSecTrustResultRecoverableTrustFailure的原因是什么? 假设我需要使用自签名证书与服务器进行https连接。 我没有从服务器的任何内部数据,如其私钥。 例如,服务器是https://www.pcwebshop.co.uk/ 据我所知,我可以将客户端证书捆绑到应用程序中,并将其用于validation。 我是否可以获得有效的客户端证书,而无需从服务器获取任何内部数据? 我在这里使用了一个教程http://www.indelible.org/ink/trusted-ssl-certificates 以下是我如何获得客户端证书 openssl s_client \ -showcerts -connect "${HOST}:443" </dev/null 2>/dev/null | \ openssl x509 -outform DER >"../resources/${HOST}.der" 这是代码(几乎不变): – (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace { return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; } – (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { if ([self shouldTrustProtectionSpace:challenge.protectionSpace]) { [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; } else { [challenge.sender performDefaultHandlingForAuthenticationChallenge:challenge]; […]
我有一个私钥。 以“—开始私人密钥…”开头的文本文件 我想用这个密钥来encryption一个NSString。 因为它的私钥,最好把它称为一个NSString。 这可以做到没有任何外部框架? 结果应该相当于php的openssl_sign函数。
我被告知,我们需要为应用程序开发人员提供P12格式的“推送通知证书”。 我需要知道如何使用Windows来获得这个。 我有以下几点: 开发人员证书* developer_identity.cer * 分销证书* distribution_identity.cer * 然后我被告知去App ID,find我的新的App ID,然后点击“Configure”。 然后为Apple的推送通知服务configuration我的App ID。 configuration“生产推送SSL证书”:它说我需要创build一个CSR并上传到苹果。 在创buildCSR时,我在OpenSSL中使用了以下内容: openssl genrsa -out mykey.key 2048 然后 openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=yourAddress@example.com, CN=John Doe, C=US" 用我自己的细节replace电子邮件,CN和C. 问题1:这是对的吗? P12将提供给第三方推动; 是电子邮件,CN和C在这里validation在任何时候或这没有关系? 假设以上是完全正确的,这导致我得到另一个文件:* aps_production_identity.cer * 问题2:如何使用OpenSSL和上述文件向开发者提供必要的P12推送证书?
免责声明:新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选项。