Je dois crypter une chaîne et avoir un .CER (x.509) dans le dossier Ressources de mon projet xCode. Les deux derniers jours que j'ai passés à imaginer comment, mais pas de succès, il est donc temps de demander.Cryptage iPhone avec certificat
La documentation d'Apple est très difficile à lire ... et je vois que ce framework est probablement le plus difficile à comprendre ... ni les samples n'ont aidé.
Alors, je l'ai essayé avec le code suivant: De toute évidence, il ne fonctionne pas:
Sur mon Mac je OPENSSL mais j'ai trouvé aucun moyen de recréer OPENSSL commandes dans le SDK. Donc, je suis assez confus ... n'importe qui ???
Merci beaucoup :)
NSString *certPath = [[NSBundle mainBundle] pathForResource:@"Certificate" ofType:@"cer"];
SecCertificateRef myCertificate = nil;
NSData *certificateData = [[NSData alloc] initWithContentsOfFile:certPath];
myCertificate = SecCertificateCreateWithData(kCFAllocatorDefault, (CFDataRef)certificateData);
SecPolicyRef myPolicy = SecPolicyCreateBasicX509();
SecTrustRef myTrust;
SecTrustCreateWithCertificates(myCertificate, myPolicy, &myTrust);
SecKeyRef publicKey = SecTrustCopyPublicKey(myTrust);
uint8_t *pPlainText = (uint8_t*)"This is a test";
uint8_t aCipherText[1024];
size_t iCipherLength = 1024;
OSStatus status = SecKeyEncrypt(publicKey,
kSecPaddingPKCS1,
pPlainText,
strlen((char*)pPlainText) + 1,
aCipherText,
&iCipherLength);
}
Avez-vous trouvé des solutions à ce @Fabio – Dilshan