2011-09-05 32 views
6

Estoy escribiendo la aplicación iOS. El servidor envía la clave pública de RSA a la aplicación. Ahora la aplicación tiene que encriptar cierta información usando el algoritmo RSACifrado RSA usando la clave pública

. Por favor, dame alguna referencia. Gracias

+1

mirada a esta pregunta sobre cómo cifrar con RSA: http://stackoverflow.com/questions/4211484/send-rsa-public-key-to-iphone-and -use-it-to-encrypt –

+0

Consulte esta pregunta y respuesta: http://stackoverflow.com/questions/28291609/encryption-with-rsa-public-key-on-ios/28291683#28291683 – ideawu

Respuesta

0

No sé mucho sobre iOS, pero el Certificate, Key, and Trust Services Reference parece ser lo que necesita. Parece que el SecKeyEncrypt será utilizado por usted en algún momento.

+2

sí, para usar esto API, necesito SecKeyRef de RSA public ey, que tengo como NSSTring. No puedo obtener su SecKeyRef. Estoy usando iOS 4.2 – macdev30

+0

@ macdev30, estoy luchando con el mismo problema: cifrar con una clave pública NSString RSA. ¿Has logrado resolver esto? – juanignaciosl

4

iOS no tiene API especial para RSA, pero hay algunas API sobre Certificado. Puede usar estas API para cifrar sus datos por RSA.

Primero, debe usar openssl para generar su clave privada RSA y clave pública. Lo más importante es que la clave pública debe estar firmada. Aquí hay una instrucción para generar las llaves.

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

Sin embargo, si ya tiene una clave privada (archivo .pem), puede seguir las instrucciones:

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 

Puede comprobar el public_key.der abriéndolo en Xcode.

Cuando obtiene el archivo public_key.der correcto, puede ver el RSA.h y el RSA.m here. Lamento que no tengo tiempo para reescribir esta publicación en inglés nuevamente.

+1

Perfecto, gracias! ¿Tiene el código de openssl para recuperar la información cifrada con esas claves? – xlarsx

+0

hola, se le dijo que generara claves con el certificado, pero tengo una clave pública proporcionada por el desarrollador de JAVA, entonces quiero descifrar el mensaje usando esa clave ... entonces, ¿cómo puedo hacer eso? – Apple

+0

Supongo que tu clave es una cadena. Lo siento, no sé cómo convertir una clave de cadena en un archivo. – zsxwing

Cuestiones relacionadas