¿Cómo uso el cifrado RSA en iOS para interoperar con .NET Framework?
Primero genera un certificado. El SDK de .Net Framework de Microsoft nos proporciona Makecert.exe, una herramienta de línea de comandos para generar certificados digitales X.509.
Abra la consola .Net y genere el certificado usando el siguiente comando:
makecert -sr LocalMachine -ss My -n CN= Theoservice -sky exchange -pe
Luego, inicio->Ejecutar->MMC para abrir la consola MMC. Archivo->Agregar/eliminar MMC->Agregar botón->Seleccione "Certificado"->Agregar->Seleccione "Cuenta de computadora"->Cerrar->Aceptar, y luego podrá ver el siguiente contenido en "Personal->Certificado", puede ver el certificado que acaba de generar. El certificado se cifra mediante una clave de 1024 bits. Ahora todo lo que necesitas hacer es exportar el certificado. Si el servidor no es local, primero debe exportar el certificado en formato pfx con la clave privada. Al exportar, debe ingresar una contraseña para proteger el certificado y luego importarlo al servidor. Además, debe exportar un certificado en formato cer sin la clave privada. El certificado contiene solo la clave pública y se utiliza para distribuirlo a los clientes para cifrar datos digitales.
Una vez colocado el certificado, llega el momento de cifrarlo y descifrarlo.
Asumo que has escrito un programa en C#.
Luego importe el certificado exportado a su programa IOS y escriba el programa correspondiente.
Nota: el cifrado de paquetes RSA utiliza una clave de 1024 bits, por lo que la longitud de la clave es 1024/8=128 bytes, y C# utiliza el modo de relleno #PKSC1 de forma predeterminada, que cifra hasta 128-11 a la vez. tiempo = 117 bytes, es decir, el algoritmo de cifrado de paquetes RSA extrae <= 117 bytes del texto sin formato a la vez y luego lo cifra en 128 bytes. En otras palabras, el algoritmo de cifrado de paquetes RSA extrae <= 117 bytes del texto sin formato cada vez y luego lo cifra en 128 bytes de texto cifrado; al descifrarlo, extrae 128 bytes del texto cifrado cada vez y luego lo descifra en <= 117 bytes; de texto plano. Dado que el contenido del modo de relleno #PKSC1 es aleatorio cada vez, incluso si se cifra el mismo texto sin formato, el resultado será diferente cada vez, lo que mejora enormemente la seguridad de los datos.
Lado de IOS: cada texto sin formato de 117 bytes se cifra en texto cifrado de 128 bytes y finalmente se conecta a la codificación base64.