我想知道这段代码是否安全?如果它不安全那么会怎么做?

时间:2015-04-02 10:46:53

标签: ios ssl

**我在ssl中使用socket建立连接。但我是否混淆了它的安全性?请有人形容它是否安全如果它不安全那么将会做什么? **

(void)connection{

uint portNo = 443;
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;

CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"myipaddress", portNo, &readStream, &writeStream);
inputStream = (__bridge NSInputStream *)readStream;
outputStream = (__bridge NSOutputStream *)writeStream;

[inputStream setDelegate:self];
[outputStream setDelegate:self];

[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
[inputStream setProperty:NSStreamSocketSecurityLevelNegotiatedSSL forKey:NSStreamSocketSecurityLevelKey];
[outputStream setProperty:NSStreamSocketSecurityLevelNegotiatedSSL forKey:NSStreamSocketSecurityLevelKey];

NSDictionary *setting=[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithBool:YES],
                        kCFStreamSSLAllowsExpiredCertificates,
                        [NSNumber numberWithBool:YES], kCFStreamSSLAllowsAnyRoot,
                        [NSNumber numberWithBool:NO], kCFStreamSSLValidatesCertificateChain,
                        kCFNull, kCFStreamSSLPeerName,
                        nil ];

CFReadStreamSetProperty((CFReadStreamRef)readStream, kCFStreamPropertySSLSettings, (CFTypeRef)setting);
CFReadStreamSetProperty((CFReadStreamRef)writeStream, kCFStreamPropertySSLSettings, (CFTypeRef)setting);

}

0 个答案:

没有答案