macdev30
macdev30

Reputation: 245

RSA Encryption using public key

I am writing iOS Application. Server sends RSA public key to application. Now application has to encrypt some information using RSA algorithm

Kindly provide me some reference. Thanks

Upvotes: 6

Views: 17878

Answers (3)

xjunior
xjunior

Reputation: 53

This Pod encapsulates the encryption: https://github.com/xjunior/XRSA

Upvotes: 1

zsxwing
zsxwing

Reputation: 20816

iOS has no special API for RSA, but there are some APIs about Certificate. You can use these APIs to encrypt your data by RSA.

First, you must use openssl to generate your RSA private key and public key. The most important thing is that the public key must be signed. Here is a instruction to generate the keys.

openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650

However, if you already has a private key(.pem file), you can follow the instructions:

openssl req -new -out cert.csr -key private_key.pem
openssl x509 -req -in cert.csr -out public_key.der -outform der -signkey private_key.pem -days 3650

You can check the public_key.der by opening it in xcode.

When you get the correct public_key.der file, you can view the RSA.h and RSA.m here. I'm sorry that I have no time to rewrite this post by English again.

Upvotes: 4

President James K. Polk
President James K. Polk

Reputation: 41958

I don't know much about iOS but the Certificate, Key, and Trust Services Reference seems to be what you need. It appears the SecKeyEncrypt will be used by you at some point.

Upvotes: 0

Related Questions