Tag: SSL

这代码是什么意思,“404 =未find; 404; -32601” ? 在joinKurento媒体服务器中的一个房间时发生这种情况

我正在android应用程序中,我有一个videostream。 我正在使用kurento媒体服务器进行stream式传输。 我通过使用以下代码连接到KMS: executor = new LooperExecutor(); executor.requestStart(); String wsRoomUri = "wss://192.168.0.104:8433/kurento"; kurentoRoomAPI = new KurentoRoomAPI(executor, wsRoomUri, this); CertificateFactory cf; try { cf = CertificateFactory.getInstance("X.509"); InputStream caInput = new BufferedInputStream(getAssets().open("kurento_room_base64.cer")); Certificate ca = cf.generateCertificate(caInput); kurentoRoomAPI.addTrustedCertificate("ca", ca); } catch (CertificateException |IOException e) { e.printStackTrace(); } kurentoRoomAPI.useSelfSignedCertificate(true); kurentoRoomAPI.connectWebSocket(); 它被连接。 但是当我尝试join房间时,显示错误,错误是: .vtt.nubotest E/MainActivity: Code:-32601 04-18 17:30:18.061 11699-11938/fi.vtt.nubotest E/MainActivity: […]

使用iOS分布式应用时,Google Cloud Messaging显示“notRegistered”

我已经在iOS应用上实施了GCM服务。 我使用PHP在服务器上发送GCM。 当应用程序由开发configuration文件签名时,它完美地工作。 也就是说,当应用程序使用GCMconfiguration注册自己时,它总是返回一个正在运行的设备令牌。 我可以使用该令牌向设备发送通知,而不会出现任何错误。 但是,当我通过分布式configuration文件签署应用程序并通过TestFlight或Ad Hoc Provisioningtesting应用程序后,我收到了“未注册”错误。 { “multicast_id”:8921098464640731057, “成功”:0, “失败”:1, “canonical_ids”:0 “结果”:[{ “错误”: “NotRegistered”}]}” 这是怎么发生的? 任何解决scheme 我检查了我在开发和分发configuration文件中启用了APNS。 我没有在我的服务器上启用TLS。 其实我的SSL证书没有准备好,所以我不能testing它。 这是原因吗?

iOS 8.4 CFNetwork SSLHandshake失败(-9850)

我的ssl握手代码失败了,因为我更新了xcode到6.4(和模拟器到ios 8.4)。 错误是:CFNetwork SSLHandshake失败(-9850) 相同的代码是在ios 8.3模拟器上成功执行ssl握手(我也试过xcode 6.4的ios 8.3模拟器,握手很好)。 这是一些协调和开始握手的代码。 我正在使用swift。 self.socket.startTLS([kCFStreamSSLLevel:kCFStreamSocketSecurityLevelTLSv1, kCFStreamSSLValidatesCertificateChain:kCFBooleanFalse]) 我试图找出一整天,我什至不能找出错误代码-9850的含义。 它没有与SecureTransport.h文件中的所有其他代码一起列出。 UPDATE1: 我发现苹果引入了应用程序传输安全,这意味着你可以声明你想build立安全连接的域名。 无论如何,我尝试与ATS,但没有任何成功。 -9850错误仍然存​​在问题。 更新2 – 解决scheme 正如Michal和Steven在他们的回答中所build议的那样,我开始怀疑主要的问题是服务器端的问题。 我和那个实现了服务器的人聊过,在他生成了新的长度为2048的ssl证书后,所有的问题都消失了。在那之前他们是512。 用新的证书,我身边的代码工作得很好。

通过Amazon SNS和Unity的iOS APNS – 无法创build开发iOS证书

我正在尝试通过Unity中的Amazon SNS设置推送通知。 我有Android的一面工作完美,但我们有问题与iOS。 我能够将设备注册到Apple Production SNS应用程序并订阅主题,但只要我尝试发送通知,端点“已启用”状态就会变为“False”。 我读到这可能是由于证书被设置为生产,尽pipe我们遵循创build开发证书的说明,当我尝试上传.p12文件在SNS中创buildApple开发平台时,它总是给出错误消息: “您提供了iOS生产types的证书” 我们已经多次尝试下载开发证书,并尝试在Apple开发站点上使用新的软件包ID和新应用程序重新生成应用程序,而无需触摸生产button,但是从KeyChain导出.p12之后,它总是成为生产证书。 .. 另外,我们创build的每个.p12都有最后一个确切的私钥和证书 。 有什么可能出错?

validation服务器是否符合Apple的ATS / TLS 1.2要求的最佳方法

因此,苹果公司要求TLS 1.2的前向保密function适用于iOS 9开始的URL。独立于应用程序,validation服务器是否满足所有要求的最佳方法是什么? nscurl完全不起作用 – 或者我不知道如何使用它。 我的输出简单地说CFNetwork SSLHandshake失败,即使我知道服务器是兼容的。 TLSTool在某种程度上工作,但我不能强制使用正向保密(FS)密码。 openssl可以为客户端模式指定特定的密码,但是我的版本没有FS密码。 我如何升级openssl? 什么是最好的方法? 到目前为止,我不得不sslbs.com的analyze.html。 有什么build议么?

防止ios5中的自签名SSL证书

我使用基本HTTP身份validation的代码,请参阅下文。 这在IOS 5中工作正常。但现在我们将协议更改为https,我们使用假的自签名证书。 它也有效! 这似乎不安全。 有人知道你是否需要用这种方法来做某些事情来防止某些证书被接受? – (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { if ([challenge previousFailureCount] <= maxRetryCount ) { NSURLCredential *newCredential = [NSURLCredential credentialWithUser: userName password:password persistence:NSURLCredentialPersistenceForSession]; [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge]; } else { NSLog(@"Failure count %d",[challenge previousFailureCount]); } }

无法使用自定义CA打开安全websocket

我正在编写一个使用socket.io( socket.io-objc库)连接到本地和远程服务器的iOS应用程序。 我与远程服务器的连接已经使用TLS,没有任何问题。 远程服务器具有由知名CA签名的证书。 现在我想要保护本地连接。 但是,这些本地证书不可能由知名的CA签名。 到目前为止,我已经生成了一个自定义的CA证书,并用它来签署本地服务器的证书。 我相信这是工作,因为如果我手动安装CA证书到我的iPad我能够连接到服务器。 现在我试图在使用本文的应用程序中自动安装CA证书作为参考。 我遇到的问题是,虽然看起来我可以成功地将证书添加到我的应用程序的钥匙串中,但我的套接字连接似乎没有使用它。 在启动时,我的应用程序安装CA: NSBundle *bundle = [NSBundle bundleForClass:[self class]]; NSData *iosTrustedCertDerData = [NSData dataWithContentsOfFile:[bundle pathForResource:@"myRootCA" ofType:@"der"]]; SecCertificateRef certificate = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef) iosTrustedCertDerData); CFDictionaryRef dict = (__bridge CFDictionaryRef)([NSDictionary dictionaryWithObjectsAndKeys: (__bridge id) (kSecClassCertificate), kSecClass, certificate, kSecValueRef, nil]); OSStatus err = SecItemAdd(dict, NULL); if (err == noErr) { NSLog(@"####### […]

域= NSURLErrorDomain代码1202

嗨,我收到以下错误: 错误域= NSURLErrorDomain代码= -1202 \“此服务器的证书无效。您可能正在连接到假装为”server-prod.name-cloud.com“的服务器,这可能会使您的机密信息处于危险之中。 \“UserInfo = {NSErrorFailingURLStringKey = https://server-prod.name-cloud.com/v3/project/session/926B9E6BE31B/,NSLocalizedRecoverySuggestion =你想连接到服务器吗?,_kCFStreamErrorDomainKey = 3,NSErrorFailingURLKey = https ://server-prod.name-cloud.com/v3/project/session/926B9E6BE31B/,_kCFStreamErrorCodeKey = -9843,NSLocalizedDescription =该服务器的证书无效。 您可能正在连接到假装为“server-prod.name-cloud.com”的服务器,这可能会使您的机密信息处于危险之中。} 我阅读所有相关的文档 ,我们在“常见故障”一节中应用所有要求。 更多细节: 仅从德国收到的错误(过去2W来自意大利的4倍除外) 这是不可重现的内部 最终在经过多次重试之后,上传就会丢失 这是在iOS 10.xx和9.xx收到展位 我使用2016-08 SSL安全策略的亚马逊服务器,所以根据苹果应该是好的 在我使用的应用程序中: <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 注意 – 在生产中,我总是使用HTTP,所以我离开了NSAllowsArbitraryLoads,因为有些离岸testing者可以把路由切换到HTTP进行debugging。

为什么我的服务器的通配符SSL证书被拒绝?

我正在使用NSURLConnection连接到通配符TLS证书(如“* .domain.com”)的服务器,当我在NSURLConnectionDelegate的-connection:willSendRequestForAuthenticationChallenge:方法中调用SecTrustEvaluate时,证书被拒绝为无效。 另一台具有完全指定的TLS证书的服务器(如“server2.domain.com”)被接受。 两个证书都由同一个CA颁发,并且已经将CA证书添加到我的设备的可信证书列表中。 我在iPhone / iOS 8.1上看到了与Safari相同的行为。 具有通配符证书的服务器被报告为具有不可信证书,而其他服务器正常工作。 所以它看起来像iOS的默authentication书validation拒绝通配符证书。 这是这种情况吗? 有没有办法告诉SecEvaluateTrust允许通配符证书? 这是我的-connection:willSendRequestForAuthenticationChallenge:摘录-connection:willSendRequestForAuthenticationChallenge: – (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { SecTrustRef trust = [challenge.protectionSpace serverTrust]; SecTrustResultType trustResult; OSStatus status = SecTrustEvaluate(trust, &trustResult); if (status == noErr) { if (trustResult == kSecTrustResultProceed || trustResult == kSecTrustResultUnspecified) { // Success. server2 gets here } […]

iOS应用程序SSL .p12身份validation – 证书错误错误(-9825)

更新 编辑2/6/14: 我创build了一个本地Apache Tomcat服务器来testing带有证书authentication的SSL。 我成功了! 一切都如预期般运作,使用我的两种方法。 (MKNetworkKit和自定义代码)。 虽然这告诉我,我的代码正在工作,我的原始问题仍然没有解决。 我更新了问题的标题,更具体地反映了这个问题。 有谁知道SAP Portal是否需要特殊设置才能接受来自iOS应用程序的证书? 请记住,在将CA和.p12导入共享钥匙串之后,我能够使用Safari移动设备成功进行身份validation,但在代码(我现在知道代码工作,而不是门户网站)中只是失败。 我正在创build一个带定制插件的非常简单的iOS7 Cordova 3.2应用程序,通过仅提供一个用于身份validation的.p12证书(不需要基本身份validation或其他用户凭据)来从SSL Web服务获取数据。 我正在一个物理iPad(没有模拟器)上执行所有testing。 Web服务使用自签名证书存在于开发SAP NetWeaver门户框中。 现在,我将服务器的CA导入到iOS密钥链中,以避免证书信任错误。 出于testing目的,我的.p12证书在应用程序本地捆绑在mainBundle的根目录中。 当试图连接到Web服务时,在控制台中出现跟随错误: CFNetwork SSLHandshake failed (-9825) NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9825) Error Domain=NSURLErrorDomain Code=-1205 "The server “myhostremoved.com” did not accept the certificate." UserInfo=0x14e99000 {NSErrorFailingURLStringKey=https://myhostremoved.com/sslwebservice/, NSErrorFailingURLKey=https://myhostremoved.com/sslwebservice/, NSLocalizedDescription=The server “myhostremoved.com” did not accept the certificate., NSUnderlyingError=0x14d9b1d0 […]