ios - RSA Encryption using existing public key -


i trying encrypt nsdata following method:

- (nsdata *) encryptwithdata:(nsdata *)content {  size_t plainlen = [content length];  void *plain = malloc(plainlen); [content getbytes:plain            length:plainlen];  size_t cipherlen = 256; void *cipher = malloc(cipherlen);  osstatus returncode = seckeyencrypt("public key here", ksecpaddingpkcs1, plain,                                     plainlen, cipher, &cipherlen);  nsdata *result = nil; if (returncode != 0) {     nslog(@"seckeyencrypt fail. error code: %ld", returncode); } else {     result = [nsdata datawithbytes:cipher                             length:cipherlen]; }  free(plain); free(cipher);  return result; 

}

where written "public key here" want load existing public key copied bundle. how can that?

for example use certificate file contains public key:

nsdata *certificatedata = [nsdata datawithcontentsofurl:certificateurl options:0 error:&error]; if (certificatedata) {     seccertificateref certificate = seccertificatecreatewithdata(null, (__bridge cfdataref)(certificatedata));     // ...     seckeyref publickey;     seccertificatecopypublickey(certificate, &publickey);     // ... } 

to load data bundle:

nsarray *certificateurls = [[nsbundle mainbundle] urlsforresourceswithextension:@"cer" subdirectory:@"mycertificates"]; (nsurl *certificateurl in certificateurls) {     nsdata *certificatedata = [nsdata datawithcontentsofurl:certificateurl options:0 error:&error];     // ... } 

Comments

Popular posts from this blog

c# - How to get the current UAC mode -

postgresql - Lazarus + Postgres: incomplete startup packet -

javascript - Ajax jqXHR.status==0 fix error -