Encriptación
En NeCIPCo, toda la información confidencial se intercambia cifrada mediante claves públicas/privadas RSA.
Los datos confidenciales enviados (como números de tarjetas de 16 dígitos y PIN) siempre deben estar cifrados en cada solicitud con la clave pública del sistema devuelta en Obtener clave pública .
Al cifrar datos, asegúrese de utilizar RSA_PKCS1_PADDING.
Los datos confidenciales recibidos (como números de tarjetas de 16 dígitos y PIN) siempre se devuelven cifrados en cada respuesta con la clave pública del cliente API registrada en Agregar clave pública , y deben descifrarse con su archivo de clave privada.
Puede generar un par de claves RSA para cifrar/descifrar información mediante OpenSSL con los siguientes comandos (shells GNU/Linux o MacOS):
-
Generar un RSA de 2048 bits
- Con contraseña
$ openssl genrsa -des3 -out private.pem 2048
- Sin contraseña
$ openssl genrsa -out private.pem 2048
- Con contraseña
-
Exportar la clave pública RSA a un archivo (el indicador -pubout es muy importante ).
$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem
-
Verifique la clave pública RSA exportada (comienza con -----BEGIN PUBLIC KEY----- )
$ cat public.pem
-
Si necesita exportar su clave privada (¡EXTREMADAMENTE PELIGROSO!) utilice el siguiente comando:
$ openssl rsa -in private.pem -out private_unencrypted.pem -outform PEM
-
Verifique la clave privada RSA exportada (comienza con -----BEGIN RSA PRIVATE KEY----- )
$ cat private_unencrypted.pem