Как проверить цифровую подпись с открытым ключом в iOS без использования какого-либо стороннего кода (например,) открыть SSL?Проверка цифровой подписи с открытым ключом в iOS
Мне нужно проверить цифровую подпись в приложении iOS с открытым ключом. Может ли кто-нибудь помочь мне в достижении этого без использования стороннего программного обеспечения.
Я пытаюсь под кодом, но проблема в том, что у меня нет сертификата в моем приложении, поэтому не могу создать SecTrustRef.
КОД:
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]
);
У меня есть следующие:
- Public Key (NSString *)
- Подпись (NSString *)
- данных (NSString *)
Пожалуйста, помогите мне, какой у меня вариант в iOS SDK, если я не хочу использовать ant-сторонний open source.
Если мой ответ помог вам, пожалуйста, примите, что вопрос будет отмечен как решенный и поможет другим пользователям. спасибо – mindbomb
У вас когда-нибудь было какое-то решение или вы создали .pem? – DivineDesert