ios原生系统的网络请求携带ssl证书进行双向认证

本节使用ios的NSURLSessionDelegate代理来实现网络接口请求过程中携带证书发起请求。

NSURLAuthenticationMethodClientCertificate:客户端证书身份验证方法。客户端需要提供一个有效的数字证书以进行身份验证。

NSURLAuthenticationMethodServerTrust:服务器信任身份验证方法。客户端需要验证服务器的证书是否可信。

1.startWithParameters:method:方法用于启动网络请求。它接受一个参数字典和一个请求方法作为输入。根据请求方法的不同,构建GET或POST请求,并根据需要设置请求头和请求体。然后通过NSURLSession发送请求,并在请求完成后回调执行相应的处理逻辑。其中的CA_SSLURL是宏定义的地址,请求方法在第五小点的m文件中。

- (void)startWithParameters:(NSMutableDictionary *)parameters method:(RequestMethod)method{
   
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration
                            delegate:self delegateQueue:[NSOperationQueue mainQueue]];
    NSURL *requestUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",CA_SSLURL,self.url]];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:requestUrl];

    if (method == RequestMethodGET) {
   
        request.HTTPMethod = @"GET";

    }else
    {
   
        request.HTTPMethod = @"POST";
        [request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
        // 设置请求参数
        NSError *error;
        NSData *requestData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];
        if (!error) {
   
            [request setHTTPBody:requestData];
        }
    }
    
    @weakify(self
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值