cuốn sách gpt4 ai đã làm

Đã sửa lỗi AFHTTPRequestOperation với SSL không hoạt động

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 14:40:39 26 4
mua khóa gpt4 Nike

Tôi đang sử dụng cho ứng dụng iPhone của mình (Objective-C) AFHTTPYêu cầuHoạt động. Tôi cần kích hoạt cho ứng dụng của mình SSL đã sửa.

Tuy nhiên, bất kể chứng chỉ tôi đưa vào gói ứng dụng của mình là đúng hay sai thì lệnh gọi tới API của tôi luôn thành công.

Nếu chứng chỉ tôi ghim trong ứng dụng của mình là chứng chỉ sai thì lệnh gọi tới API máy chủ của tôi có thất bại không?

Đây là mã của tôi trong ứng dụng:

- (AFHTTPRequestOperation *)HTTPRequestOperationWithRequest:(NSURLRequest *)request
thành công:(void (^)(AFHTTPRequestOperation * hoạt động, id replyObject)) thành công
lỗi:(void (^)(AFHTTPRequestOperation *hoạt động, NSError *error))failure{
AFHTTPRequestOperation * hoạt động = [[AFHTTPRequestOperation cấp phát] initWithRequest:request];

Operation.responseSerializer = self.responseSerializer;
Operation. ShouldUseCredentialStorage = self. ShouldUseCredentialStorage;
hoạt động.credential = self.credential;
// hoạt động.securityPolicy = self.securityPolicy;

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy PolicyWithPinningMode:AFSSLPinningModePublicKey];
NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"wrong_cert" ofType:@"cer"];
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
[securityPolicy setAllowInvalidCertificates:NO];
[securityPolicy setValidatesDomainName:YES];
[securityPolicy setPinnedCertificates:@[certData]];
[hoạt động setSecurityPolicy:securityPolicy];

[hoạt động setCompletionBlockWithSuccess:thất bại thành công:thất bại];
Operation.completionQueue = self.completionQueue;
Operation.completionGroup = self.completionGroup;

hoạt động trở lại;

}

Xin vui lòng tư vấn. Cảm ơn.

câu trả lời hay nhất

Tôi đã triển khai thành công Ghim SSL bằng AFNetworking. Trước khi kiểm tra, hãy đảm bảo chứng chỉ của bạn hợp lệ. Xem đoạn mã dưới đây.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagersharedManager];
manager.responseSerializer = [Bộ nối tiếp AFJSONResponseSerializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
AFHTTPRequestOperation *post = [người quản lý POST:[NSString stringWithFormat:@"%@",url] tham số:nil thành công:^(AFHTTPRequestOperation *hoạt động, id replyObject) {
NSLog(@"JSON: %@", replyObject);

[đại biểu requestCompleted:responseObject];
} lỗi:^(AFHTTPRequestOperation *hoạt động, NSError *lỗi) {

if([error.domain isEqualToString:@"NSURLErrorDomain"] && error.code == -1012){
// Yêu cầu ghim SSL không thành công

} khác nếu (! Operation.cancelled) {

}
}];

[bài bắt đầu];

Về ios - Đã sửa lỗi AFHTTPRequestOperation với SSL không hoạt động, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43452059/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress