小编Mar*_*rez的帖子

NSURLCredential创建返回null

我试图NSURLCredential通过使用该+credentialWithIdentity:certificates:persistence:方法创建一个.然而,它返回零.

我已经完成了以下步骤.首先,我创建一个私钥和公钥,然后生成一个证书并将其添加到我的钥匙串.第一个问题,当我这样做时:

static const uint8_t certificateIdentifier[] = "test.certificate";    
NSData * certificateTag = [NSData dataWithBytes:certificateIdentifier length:sizeof(certificateIdentifier)];
SecCertificateRef cert = SecCertificateCreateWithData(NULL, (__bridge CFDataRef) certificadoData);
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setObject:(__bridge id)kSecClassCertificate forKey:(__bridge id)kSecClass];
[dictionary setObject:certificateTag forKey:(__bridge id)kSecAttrApplicationTag];
[dictionary setObject:(__bridge id)(cert) forKey:(__bridge id<NSCopying>)(kSecValueRef)];
OSStatus status = SecItemAdd((__bridge CFDictionaryRef)dictionary, NULL);
Run Code Online (Sandbox Code Playgroud)

状态告诉我,我certificateTag的论点无效.如果我没有放这个标签,我可以将证书放在我的钥匙串上,然后在方法内

(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
Run Code Online (Sandbox Code Playgroud)

我放

SecIdentityRef myIdentity;
SecCertificateRef myCertificate;

NSMutableDictionary * queryCertificate = [[NSMutableDictionary alloc] init];
[queryCertificate setObject:(__bridge id)kSecClassIdentity forKey:(__bridge id)kSecClass];
[queryCertificate setObject:[NSNumber numberWithBool:YES] forKey:(__bridge …
Run Code Online (Sandbox Code Playgroud)

iphone certificate keychain nsurlcredential ios

5
推荐指数
1
解决办法
946
查看次数

标签 统计

certificate ×1

ios ×1

iphone ×1

keychain ×1

nsurlcredential ×1