Tag: SSL

在iOS上提升Asio SSLauthentication

我正在尝试在iOS上使用Boost Asio,并且已经计算了一切,但是如何检查我连接的服务器的证书。 你如何检查连接服务器的iOS与升压阿西奥的证书?

TLSv1_2(TLS1.2)支持PJSIP库

我在我的Android / iOS应用程序中使用最新的PJSIP库。 我想在我的项目中使用TLSv1.2连接。 PJSIP支持哪个TLS版本? 从源代码似乎是支持TLSv1.0。 有没有办法将TLSv1_2支持添加到PJSIP库?

在AFNetworking 2.0中使用SSL时出现错误1012

我正尝试使用SSL连接到我的网站,该网站使用了由StartSSL签名的authentication。 当我浏览到网站时,一切正常,但是,当我尝试在应用程序中使用SSL时,我得到: Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn't be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x8d635f0 {NSErrorFailingURLKey=https://edutoets.nl/API/login.php, NSErrorFailingURLStringKey=https://edutoets.nl/API/login.php} 我已经在应用程序包中包含了.cer格式的证书(在将它从.crt转换为.cer后),AFNetworking可以find它。 这是我创buildpipe理器安全策略的代码: – (AFSecurityPolicy*) sslSecurityPolicy { NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"edutoets" ofType:@"cer"]; NSData *certData = [NSData dataWithContentsOfFile:cerPath]; AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init]; [securityPolicy setAllowInvalidCertificates:NO]; [securityPolicy setPinnedCertificates:@[certData]]; [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate]; return securityPolicy; } 在这里,我设置安全策略并执行请求: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager; […]

我们如何告诉CFStream使用一组锚证书?

我知道我们可以使用SecTrustSetAnchorCertificates()给出一个SecTrustRef。 但是用CFStreams,我们只能在握手后才能得到信任对象。 一种解决方法似乎是使用kCFStreamSSLValidatesCertificateChain属性禁用CFStream上的证书链validation,然后使用kCFStreamPropertySSLPeerCertificates获取对等证书,从这些证书创build信任并自行评估信任。 但是,如果我们可以告诉CFStream使用一系列证书作为锚点,那将会更加清洁。 我是否希望太多?

此服务器的证书无效

我的应用程序是活的。 这工作正常。 但有些时候,我们在服务器上更改证书(出于安全目的)之前。 而现在,每当我试图运行我的应用程序。 这是给错误 : 该服务器的证书无效。 您可能正在连接到假装为“域名”的服务器,这可能会将您的机密信息置于危险之中。 我正在使用Swift3。 我想知道这是前端问题还是服务器端? 我该如何解决这个问题? 注:我已经search了很多关于这个问题,但没有得到解决scheme。 我也尝试过Titanium – “这个服务器的证书是无效的,你可能连接到假装是DOMAIN.COM的服务器”,但我已经按照所有步骤操作了。 其他的事情是networking应用程序和Android应用程序正在工作好吧。 但iOS应用程序给出错误。

SSL – 在iOS7中performance有所不同?

我正在研究使用https与服务器通信的iOS企业POS应用程序。 我已经看过在iOS7通用接收SSL错误 – “AddTrust外部CA根”不信任? 和自签名的CA和自签名证书之间的区别 ,一般在网上search,但我没有得到任何地方。 该应用程序使用http或https协议在iOS6.1上正常工作。 它也可以通过HTTP在iOS 7GM上正常工作,但不能通过https – 在发送给服务器的第一条消息时失败。 在应用程序方面,我处理身份validation挑战: – (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; } 之后我得到一个callback: – (void)connectionDidFinishLoading:(NSURLConnection *)connection 不: – (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 我相信这意味着客户端和服务器成功地协商了一个连接,同意一个encryption协议等。不幸的是,虽然返回看起来是成功的(就networking堆栈而言),但是我在AMF有效载荷中取回了0字节的数据。 这里有趣的部分 – 在服务器端(JBoss4.2.3)我可以断点并检查包含AMFRequest的httpRequest体。 通过http,我总是得到384字节的正文。 通过https,如果客户端是iOS 6.1,则获得384个字节,如果客户端是iOS 7,则获得0个字节。我认为,https服务器正常接受https请求,没有错误,安全违规等。 还有一个数据点。 如果我在客户端运行Charles ,则通过使用iOS 7模拟器的https可以正常工作。 我可以在Charles和服务器上看到384字节的AMFRequest。 查尔斯作为一个http代理人 – 但是这个应用程序对此并不知情,那么为什么插入查尔斯作为一个中间人使它工作? 我已经安装了Charles的证书,所以我认为它是通过SSL与服务器通信(不知道肯定)。 感谢您的任何帮助或build议。 更新:我实施了苹果推荐的方法: – (void)connection: […]

卡住为MoonAPNS创buildp12文件

我在创build我的.p12证书时遇到了一些麻烦。 我以前创build了推送通知的应用程序,这工作正常。 应用程序获取用户设备ID并将其保存到数据库中。 我已经将代码添加到我的新应用程序(修改后与新应用程序一起工作),从Log中看起来像我的其他应用程序一样工作。 我已经下载了我需要的相关文件,然后我知道我需要使用ssl来创build我的新的和组合的p12。 我无法记住我是如何创buildp.12文件的。 我正在使用moonapns。 我已经使用了以下内容: 步骤1: openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM} 其中aps_developer_identity.cer是您从门户下载的文件 第2步: openssl pkcs12 -nocerts -out APSCertificates.pem -in APSCertificates.p12 APSCertificates.p12是您从Mac Keychain导出的文件。 这很关键,您必须将门户中的证书导入钥匙串。 在“我的证书”中find它,打开显示三angular形并突出显示证书和私钥,然后右键单击并导出它们。 给他们一个密码,并保存到一个p12文件。 第3步: openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem 我已经添加了证书,它不工作,我没有收到设备的通知。 有谁知道我应该如何创build证书?

使用NSURLConnection连接到具有自签名证书的https时,kSecTrustResultRecoverableTrustFailure

我在这里看到几个问题,但没有一个帮助我。 人们主要解决的问题是重新生成服务器证书: 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]; […]

从https链接获取图片

我刚开始学习ios开发,我试图从网站上获得一个使用SSL的图像,当我通过浏览器(笔记本电脑)连接到网站有一个警告,说根证书不受信任,我是不是网站的所有者,但我可以完全信任它。 我第一次尝试: self.eventImage.image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:imageUrl]]]; 所以我得到这个错误 NSURLConnection / CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9807) 我试图通过启动ios web浏览器发送用户到图片链接,当他们这样做时,他们会得到一个消息,询问他们是否可以信任它,如果他们打到是图像会出现,但是我想要的图像出现在应用程序内部。 我也试图使用networking视图,但没有奏效。 这里的大部分类似的问题都build议使用这个 – (BOOL)connection:(NSURLConnection *) connection canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace { return NO; //return [protectionSpace.authenticationMethod isEqualToString: // NSURLAuthenticationMethodServerTrust]; } – (void)connection:(NSURLConnection *) connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { NSString *imageUri =[self.detailItem objectForKey: @"image"]; NSArray *trustedHosts = [[NSArray alloc]initWithObjects:imageUri, nil]; if […]

将钥匙链中的.p12证书存储在稍后使用

我想在这里跟随苹果文档处理客户端p12证书: https://developer.apple.com/library/ios/documentation/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW13 我已成功从文件系统加载.p12证书: – (SecIdentityRef)getClientCertificate:(NSString *) certificatePath { SecIdentityRef identity = nil; NSData *PKCS12Data = [NSData dataWithContentsOfFile:certificatePath]; CFDataRef inPKCS12Data = (__bridge CFDataRef)PKCS12Data; CFStringRef password = CFSTR("password"); const void *keys[] = { kSecImportExportPassphrase }; const void *values[] = { password }; CFDictionaryRef options = CFDictionaryCreate(NULL, keys, values, 1, NULL, NULL); CFArrayRef items = CFArrayCreate(NULL, 0, 0, […]