Prueba de llaves para comprobar que estén bien configuradas

Este endpoint permite validar la correcta configuración de las llaves asimétricas entre Milio y la empresa cliente, garantizando que ambas partes puedan cifrar y descifrar información de forma segura.

Proceso de validación

1. El cliente cifra datos de prueba con la llave pública de Milio

  • La empresa cliente toma la llave pública de Milio y la usa para cifrar una json cadena de prueba.
  • Envía la data cifrada en el body de la solicitud junto con un webhook.

2. Milio descifra la data recibida

  • Milio usa su llave privada para descifrar la información enviada por el cliente.
  • Si la data es descifrada exitosamente, el proceso continúa.

3. Milio cifra datos de prueba con la llave pública del cliente

  • Milio genera una cadena json aleatoria de prueba.
  • La cifra con la llave pública de la empresa cliente y la envía en la respuesta.

4. El cliente descifra la data con su llave privada

  • La empresa cliente debe usar su llave privada para descifrar la data recibida.
  • Si la descifra correctamente, el proceso de validación se completa con éxito.

Body Requerido

{
  "data": "...",
  "encryptionType": "HYBRID", //'RSA_SHA256', 'RSA_SHA1', 'HYBRID'
  "webhook": "https://"
}


CampoTipoRequeridoDescripción
webhookstringURL donde Milio enviará la respuesta con los datos de prueba cifrados..
encryptionTypestringNoTipo de cifrado utilizado para la comunicación. Si no se envía, se utilizará el configurado para la compañía.
datastringInformación de prueba cifrada por el cliente utilizando la llave pública de Milio.

Tipos de cifrado soportados

RSA_SHA256

  • Utiliza RSA con padding OAEP y hash SHA-256.
  • Toda la información se cifra directamente con la llave pública de Milio.
  • Es más seguro que SHA1 y es el método recomendado cuando se usa RSA puro.

Flujo:

  1. El cliente cifra el payload usando la llave pública de Milio.
  2. Milio descifra con su llave privada.
  3. Milio responde cifrando con la llave pública del cliente.

RSA_SHA1

  • Utiliza RSA con padding OAEP y hash SHA-1.
  • Funciona igual que RSA_SHA256, pero usando SHA-1 como algoritmo de hash.

Nota:

Se mantiene principalmente por compatibilidad con implementaciones existentes.

HYBRID

  • Utiliza encriptación híbrida (AES + RSA).
  • Es más eficiente para payloads grandes.

Cómo funciona:

  1. Se genera una clave AES aleatoria.
  2. La data se cifra con AES.
  3. La clave AES se cifra con RSA usando la llave pública del receptor.
  4. Se envía un envelope que contiene:
    • data cifrada con AES
    • clave AES cifrada con RSA

Ventaja:

Mucho más eficiente que cifrar todo con RSA.

Respuesta

{
    "error": 0,
    "code": "ML000",
    "category": "GENERAL",
    "message": "Operación completada con éxito.",
    "data": {
        "decrypt": {
            "message": "Información desencriptada correctamente.",
            "data": {
                "amount": 3000,
                "type": "OUT",
                "card": {
                    "cardName": "B***** L****",
                    "cardNumber": "43************12",
                    "cardCVV": "123",
                    "cardExpiryDate": "12/26"
                },
                "phone": "3*********",
                "third": "B***** F****** L**** S*****",
                "qr": true
            }
        },
        "encrypt": {
            "message": "Información encriptada correctamente.",
            "data": "..."
        }
    }
}
Language
Credentials
OAuth2
Response
Click Try It! to start a request and see the response here!