和后台要一个受信任的证书 .cer格式,直接拖到项目里
方法1:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"wss://rul] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20];
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"证书名字" ofType:@"cer"];
NSData*certData = [[NSDataalloc]initWithContentsOfFile:cerPath];
CFDataRefcertDataRef = (__bridgeCFDataRef)certData;
SecCertificateRefcertRef =SecCertificateCreateWithData(NULL, certDataRef);
idcertificate = (__bridgeid)certRef;
[requestsetSR_SSLPinnedCertificates:@[certificate]];
_socket = [[SRWebSocket alloc] initWithURLRequest:request];
_socket.delegate = self;
[_socket open];
方法2:
在SRWebSocket.m文件里找到
- (void)stream:(NSStream*)aStreamhandleEvent:(NSStreamEvent)eventCode方法
1.断点那就是在比对是不是受信任的证书,直接把网站上的字符串复制过来,前面的逻辑自己改一下
2.不想改断点之前的代码需要本地随便加一个证书,添加方法参考步骤1。