Tag: SSL

使用带有AFNetworking的SSLSetEnabledCiphers来禁用弱密码

我试图禁用一些密码(弱),如单个DES,单个DES 40位等 我试过使用这一点的代码如何设置SSL密码在cocoa中使用CFSocket / CFStream? 并从邮件列表消息CFNetwork SSL和长阻塞延迟,但我需要访问套接字数据来获取CFDataRef 。 下面是我尝试在AFURLConnectionOperation类的握手方法中插入的代码: – (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge (NSURLAuthenticationChallenge *)challenge{ CFReadStreamRef stream = [sock getCFReadStream]; CFDataRef data = CFReadStreamCopyProperty(stream, kCFStreamPropertySocketSSLContext); // Extract the SSLContextRef from the CFData SSLContextRef sslContext; CFDataGetBytes(data, CFRangeMake(0, sizeof(SSLContextRef)), &sslContext); // Get all enabled ciphers size_t numCiphers; SSLGetNumberEnabledCiphers(sslContext,&numCiphers); SSLCipherSuite ciphers[numCiphers]; SSLGetEnabledCiphers(sslContext,ciphers,&numCiphers); // Create a new cipher array […]

AFNetworking SSL钉住过期的证书

如果在ios应用上使用ssl pinning,如何更新过期的ssl证书? 似乎只有应用程序更新才能更新证书,但不更新应用程序的用户将不会收到此更新。

将PEM公钥读入iOS

我有一个由java使用这个代码生成的base64公钥: RSAPublicKeySpec rsaKS = new RSAPublicKeySpec(modulus, pubExponent); RSAPublicKey rsaPubKey = (RSAPublicKey) kf.generatePublic(rsaKS); byte[] encoded = rsaPubKey.getEncoded(); String base64 = Base64.encodeToString(encoded, Base64.DEFAULT); Log.e(null, "base64: " + base64); 这导致Base64string。 在OSX中,我可以使用这个代码得到一个SecKeyRef: // Create the SecKeyRef using the key data CFErrorRef error = NULL; CFMutableDictionaryRef parameters = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, NULL, NULL); CFDictionarySetValue(parameters, kSecAttrKeyType, kSecAttrKeyTypeRSA); CFDictionarySetValue(parameters, kSecAttrKeyClass, kSecAttrKeyClassPublic); SecKeyRef keyRef […]

XMPPFramework – 通过Openfire上的SSL连接

我试图通过SSL将我的用户从我的iOS XMPP聊天客户端连接到Openfire服务器。 在我的iOS客户端中: – (void)setupStream { … // BOOL values for security settings customCertEvaluation = NO; allowSelfSignedCertificates = YES; allowSSLHostNameMismatch = NO; } 在我的Openfire服务器的安全设置 > 客户端连接安全性 ,我已经设置: Required – Clients can only connect to the server using secured connections. 因此,下面的委托方法将被调用: – (void)xmppStream:(XMPPStream *)sender willSecureWithSettings:(NSMutableDictionary *)settings { NSString *expectedCertName = [xmppStream.myJID domain]; if (customCertEvaluation) [settings setObject:@(YES) […]

为什么iOS8 SSL请求从iOS7迁移后间歇性失败?

我有一个iOS应用程序,它可以在iOS7上正常工作。 现在我们正在iOS8上进行testing,在iOS8下运行时,我们遇到了SSL问题。 一些(但不是全部)SSL请求失败。 所有的请求都是针对同一台服务器的,SSL证书是有效的,可以在桌面上运行,并且在同一个应用运行iOS7时工作。 我们得到的错误是kCFURLErrorSecureConnectionFailed ,苹果文档是: 安全连接失败,原因不明。 另外,我得到以下login在控制台: CFNetwork SSLHandshake失败(-9846) 我们正在使用NSURLConnection。 我们已经实现了connection: willSendRequestForAuthenticationChallenge ,但是当我们得到错误的时候它不会被调用。 有谁知道这是否是一个已知的iOS8问题? 我的下一步要弄清楚为什么这些请求会失败?

UIWebView + Sharepoint + NTLM身份validation – 我得到stream是在打开之前发送一个事件

我一直在一个有一个简单的UIWebView的应用程序,它显示一个Sharepoint网站。 我原本以为NTLMauthentication是一个问题,但事实certificate这是非常简单的。 然而,自iOS8以来,我的应用程序一直在垃圾邮件“stream正在打开之前发送一个事件”一遍又一遍在我的日志中,该网页真的永远不能加载。 我原本以为这是我正在做的事情,所以我创build了一个小应用程序(下)以消除我的其他应用程序可能有的任何古怪,但不幸的是,我得到同样的问题。 我想我的主要问题是我不知道该从哪里开始寻找答案。 互联网有一些提到这个,但没有像[webView dontDoThat]清晰的决议。 :d 我正在玩手动添加连接到运行循环,你会在代码中看到这个。 我已经尝试了各种方式,我知道如何创build连接,但这是最近的尝试。 我开始处理SSL挑战,因为我的证书对域无效,于是我得到NTLM挑战,并发送硬编码的用户名,并通过testing。 它部分加载网站,但最终放弃加载所有的资源,我认为是这个错误。 理论的欢迎。 // // ViewController.m // // Created by Greg Frame on 10/2/14. // #import "ViewController.h" #define APPURL @"https://mysharepoint.com" #define USERNAME @"usernamehere" #define PASSWORD @"passwordhere" @interface ViewController () @end @implementation ViewController BOOL _Authenticated = NO; BOOL _SSLAuthenticated = NO; NSURLConnection *_Connection; – (void)viewDidLoad { […]

Swift 3如何使用SSL Pinning和AlamoFirevalidation服务器证书?

我正在写swift 3中的一个应用程序,需要与我的服务器通话。 我有完整的证书链,我是CA的der和crt格式(不要与自签名混淆)。 如何在我的应用程序中使用它来validation我的服务器? 以下是我的rest电话和回复 rest电话: var request = URLRequest(url: URL(string: "https://myserver/login")!) request.addValue("Content-Type", forHTTPHeaderField: "application/json") request.httpMethod = "GET" let session = URLSession.shared session.dataTask(with: request) {data, response, err in print("=========================DATA===============================") if data != nil { print(data!) } print("=========================RESPONSE===============================") if response != nil { print(response!) } print("=========================ERR===============================") if err != nil { print(err!) } }.resume() 输出: =========================DATA=============================== […]

Swift 2 – Xcode 7.0无法使用不可信的SSL证书访问HTTPS站点

专家,我是IOS 9 / XCODE 7 / Swift 2开发工具包的初学者 我试图创build一个简单的路由到HTTPS协议Web应用程序的iOS应用程序。 以下是我在ViewController.swift代码 import UIKit class ViewController: UIViewController { @IBOutlet var myWebView: UIWebView! /** * Function to Display the Web Application initial URL */ func loadAppURL(){ let siteAddress = "https://domain:8443/path/to/page" let url = NSURL (string: siteAddress) let urlRequest = NSURLRequest(URL: url!) myWebView.loadRequest(urlRequest) } override func viewDidLoad() { super.viewDidLoad() […]

如何检索iOS中的ssl服务器证书?

我希望能够获得ssl证书(如果可能的话+链)能够显示辨别名称,并确定它是否是EV证书。 (通过证书策略检测EV证书( wikipedia ) 从我所见过的情况来看,如果证书是自签名的,你只能得到一些证书的详细信息。 是否有可能使用CFNetwork这样的低层来检索证书?

SSL Socket连接iOS

我想build立一个安全的连接到一个Java运行SSLServerSocket。 我已经创build了自己的根CA,并签署了使用此证书的Java SSLServerSocket的证书。 我想将这个根证书添加到我的应用程序,以便由根证书签名的任何证书将工作。 到目前为止,我有安全的连接工作正常通过设置读取和写入stream属性为: NSDictionary *settings = [[NSDictionary alloc] initWithObjectsAndKeys: (id)kCFStreamSocketSecurityLevelNegotiatedSSL, kCFStreamPropertySocketSecurityLevel, [NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredCertificates, [NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredRoots, [NSNumber numberWithBool:NO], kCFStreamSSLValidatesCertificateChain,nil]; 我将证书添加到钥匙串中,如下所示: -(void)addRootCert{ NSString* rootCertPath = [[NSBundle mainBundle] pathForResource:@"rootCA" ofType:@"der"]; NSData* rootCertData = [NSData dataWithContentsOfFile:rootCertPath]; OSStatus err = noErr; SecCertificateRef rootCert = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef)rootCertData); NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:(__bridge_transfer id)kSecClassCertificate, kSecClass, rootCert, kSecValueRef, […]