So überprüfen Sie die digitale Signatur mit dem öffentlichen Schlüssel in iOS ohne Verwendung von Drittanbietercode (z. B. SSL öffnen)?Digitale Signatur mit öffentlichem Schlüssel in iOS überprüfen
Ich muss digitale Signatur in iOS App mit einem öffentlichen Schlüssel überprüfen. Kann jemand mir helfen, das zu erreichen, ohne Software von Drittanbietern zu verwenden?
Ich versuche unten Code, aber das Problem ist, ich habe kein Zertifikat in meiner App, so kann nicht erstellen 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]
);
Ich habe folgendes:
- Public Key (NSString *)
- Unterschrift (NSString *)
- Daten (NSString *)
Bitte helfen Sie mir, welche Option ich in iOS habe SDK, wenn ich keine Open-Source-Software von Drittanbietern verwenden möchte.
Wenn meine Antwort Ihnen geholfen hat, akzeptieren Sie bitte, damit die Frage als gelöst markiert wird und anderen Benutzern hilft. Danke – mindbomb
Haben Sie jemals eine Lösung oder Sie erstellt .pem? – DivineDesert