Los certificados digitales son archivos electrónicos que autentican la identidad de una entidad (como una API) y aseguran la comunicación entre cliente y servidor. Emitidos por una Autoridad Certificadora (CA), contienen información sobre la entidad, una clave pública, una firma digital de la CA y una fecha de expiración.
En el contexto de las APIs, los certificados garantizan seguridad y autenticación mediante el protocolo HTTPS (HTTP sobre SSL/TLS), cifrando los datos transmitidos y evitando que sean interceptados.
Llave pública y privada
La criptografía asimétrica utiliza un par de claves: una clave pública (distribuida abiertamente) para cifrar datos o verificar firmas, y una clave privada (guardada en secreto) para descifrar datos o firmar digitalmente.
Esto garantiza:
- Confidencialidad: Solo el destinatario con la clave privada puede descifrar la información.
- Integridad: Verificación de que los datos no han sido modificados.
- Autenticidad: Prevención de suplantaciones y ataques.
Instalación y configuración SSL
Para iniciar con la generación de los certificados es necesario tener instalado OpenSSL, aquí veremos el paso a paso de su instalación para el sistema operativo Windows.
- Descargaremos el instalador desde la página SHINING LIGTH PRODUCTIONS desde aquí escogeremos la versión para desarrolladores y el tipo de sistema operativo según sea el caso (win32 o win64).
- Ejecutar el archivo de instalación descargado y seguir las instrucciones como lo muestra las siguientes imágenes:
Al finalizar la instalación nos mostrara la siguiente ventana, desmarcamos las casillas y damos click en Finish.
Para comprobar la correcta instalación del OpesSSL y su versión instalada, procedemos a abrir una ventana de comandos (CMD) y escribimos la siguiente instrucción: openssL version y presionamos la tecla Enter.
Luego de comprobar que la instalación fue correcta procedemos con la generación de la llave publica y llave privada.
Llave privada y llave pública
Para pruebas
Para pruebas se puede usar un certificado auto firmado, para generarlo se puede usar openssl, el git bash tiene esta herramienta:
Comando:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
Información de EJEMPLO:
- Country Name: CO
- State or Province: ANTIOQUIA
- Locality Name: MEDELLIN
- Organization Name: Mi Organization S.A
- Organizational Unit Name: BANCOLOMBIA
- Common Name: nombreapp.apps.ambientesbc.com
El Common Name es el nombre de dominio de la app para la que se genera el certificado, este nombre es el que se le asigna a la app al momento de crearla en nuestro portal, para efectos de prueba en este caso se asignó el valor nombreapp.apps.ambientesbc.com.
Como resultado se generan dos archivos, el certificado y la llave privada.
- Certificado o clave pública: Como su nombre lo indica, esta clave se distribuye públicamente. Se utiliza para cifrar datos o para verificar una firma digital.
- Llave privada: Es secreta y debe ser protegida. Solo el propietario del certificado debe tener acceso a ella. Se utiliza para descifrar los datos cifrados con la clave pública o para firmar digitalmente la información.
Key.pem (llave privada).
Certificate.pem (Certificado que contiene llave pública).
Ahora, debes adjuntar el certificado público a tu aplicación, para poder autenticarse y realizar el consumo de nuestras APIs. Puede hacerlo a través de tus apps creadas, en la opción: Editar aplicación
Nota: Esta guía es solo para efectos de prueba. Para nuestro ambiente sandbox, se pueden utilizar certificados auto firmados para simplificar el proceso. Sin embargo, para el consumo de APIs en producción, el uso de certificados auto firmados no está permitido. En estos casos, el certificado debe ser emitido y firmado por una Autoridad Certificadora (CA) reconocida, garantizando así un nivel adecuado de seguridad y autenticación.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.