如何使用 iOS 下的 public 密钥加密数据

How to encrypt data using public key under iOS

我对安全话题还很陌生,对此我有疑问。我在 iOS 下创建应用程序。我需要通过 HTTP 连接某个服务器,然后获取其 public 密钥(SSL 证书)。然后我需要使用这个 public 密钥来加密一些数据并将它们发送到同一台服务器。我的问题是我不知道该怎么做。任何人都可以向我解释如何获得 iOS 下的 public 密钥,然后用它来加密数据吗?

例如,当您使用 https 前缀 url(https==http 通过 ssl)时,NSURLSession 会为您处理。一个简单的 GET 看起来像代码 below.All 握手,public 关键的东西会为你处理。 如果您使用 post 并将数据发送到服务器,如果使用 https url,加密也会为您处理。

// use default session configuration
NSURLSessionConfiguration *defaultConfigObject =  [NSURLSessionConfiguration defaultSessionConfiguration];

// create session without a delegate, use global operation queue
NSURLSession *session =  [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];

// create a data task printing the response payload to NSLog
NSURLSessionDataTask *dataTask = [session  dataTaskWithURL:[NSURL URLWithString:@"https://developer.apple.com"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Response: %@", responseString);
}];

// run
[dataTask resume];