如何使用iOS中的公钥验证数字签名而不使用任何第三方代码(例如)打开SSL?使用iOS中的公钥验证数字签名
我需要使用公钥验证iOS应用程序中的数字签名。有人可以帮助我如何在不使用第三方软件的情况下实现这一目标。
我想下面的代码,但问题是我没有证书在我的应用程序,所以不能创建SecTrustRef。
CODE:
NSString *certPath = [[NSBundle mainBundle] pathForResource:@"yyy"
ofType:@"xxx"];
SecCertificateRef myCertificate = nil;
NSData *certificateData = [[NSData alloc] initWithContentsOfFile :certPath];
myCertificate = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef)certificateData);
SecPolicyRef myPolicy = SecPolicyCreateBasicX509();
SecTrustRef trustRef;
SecTrustCreateWithCertificates(myCertificate, myPolicy, &trustRef);
SecKeyRef keyRef = SecTrustCopyPublicKey (trustRef);
BOOL status = SecKeyRawVerify (keyRef,
kSecPaddingPKCS1SHA1,
(const uint8_t *)[data bytes],
(size_t)[data length],
(const uint8_t *)[signature bytes],
(size_t)[signature length]
);
我有以下几点:
- 公钥(的NSString *)
- 签名(的NSString *)
- 数据(的NSString *)
请帮助我在iOS中拥有的所有选项SDK如果我不想使用蚂蚁第三方开源。
如果我的答案帮助了您,请接受此问题将标记为已解决并帮助其他用户。谢谢 – mindbomb 2014-05-28 14:50:03
你有没有得到一些解决方案,或者你创建.pem? – DivineDesert 2015-10-26 06:40:19