Saltar al contenido principal
Versión: 4.42

Sign API

Descripción general

La Sign API de Redtrust es una API REST que permite integrar la firma de documentos con certificados digitales gestionados de forma centralizada en Redtrust. Está diseñada para aplicaciones externas que necesitan autenticar usuarios, recuperar sus certificados, ejecutar operaciones de firma y gestionar el perfil de firma del usuario.

URL base

https://TU_IP_REDTRUST:PUERTO/signapi

El puerto por defecto es 8083. Por ejemplo: https://localhost:8083/signapi/v1/certificate/list.

Autenticación

Token de acceso

Todos los endpoints de la Sign API requieren un token de acceso en la cabecera Authorization:

Authorization: Bearer TU_ACCESS_TOKEN

Para obtener ese token, usa el flujo de código de autorización OAuth 2.0 con PKCE, que sigue un patrón de redirección basado en los endpoints estándar:

  1. Tu aplicación redirige al usuario a GET /authclient/authorize con client_id, redirect_uri, response_type=code, state y los parámetros PKCE (code_challenge y code_challenge_method).
  2. El usuario se autentica.
  3. Redtrust redirige al usuario a tu URL de retorno con un código de autorización (code).
  4. Tu aplicación intercambia ese código por un token de acceso llamando a POST /authclient/token.

El resultado es un token de acceso que debes incluir en la cabecera Authorization de todas las llamadas a la Sign API.

aviso

Requisito previo: el flujo OAuth 2.0 solo funciona si el administrador de Redtrust ha registrado previamente tu URI de redirección. Consulta Configurar las URI de redirección.

Parámetros del flujo OAuth 2.0

Este flujo implementa PKCE (Proof Key for Code Exchange) para prevenir ataques de intercepción de código.

Solicitud de autorización

GET /authclient/authorize

ParámetroRequeridoDescripción
response_typeDebe ser code.
client_idIdentificador de tu aplicación. Redtrust te lo asigna al registrar tu aplicación.
redirect_uriURL a la que Redtrust redirige al usuario tras la autenticación. Debe coincidir exactamente con una de las URI de redirección registradas para el servicio en la consola de administración.
code_challengeChallenge PKCE derivado del code_verifier. Entre 43 y 128 caracteres en formato base64url.
code_challenge_methodMétodo de transformación del challenge. El único valor admitido es S256.
stateValor aleatorio que tu aplicación genera para prevenir ataques CSRF. Entre 16 y 512 caracteres. Redtrust lo devuelve sin modificar en la redirección.
domainNoDominio del usuario. Si se omite, el usuario puede seleccionarlo durante la autenticación.

Intercambio de código por token

POST /authclient/token con cuerpo application/x-www-form-urlencoded:

ParámetroRequeridoDescripción
grant_typeDebe ser authorization_code.
client_idEl mismo client_id de la Solicitud de autorización.
redirect_uriLa misma URL de redirección de la Solicitud de autorización.
codeEl código de autorización recibido en la redirección.
code_verifierEl valor original del code_verifier PKCE generado por tu aplicación antes de calcular el code_challenge.

El servidor responde con:

{
"access_token": "...",
"token_type": "Bearer",
"refresh_token": "..."
}

Renovación del token

Cuando el token de acceso expira, puedes renovarlo sin que el usuario vuelva a autenticarse. Llama a POST /authclient/token con:

ParámetroRequeridoDescripción
grant_typeDebe ser refresh_token.
client_idIdentificador de tu aplicación.
refresh_tokenEl token de refresco recibido en la respuesta anterior.

Cabeceras HMAC

Además del token de acceso, cada instalación de Redtrust puede requerir cabeceras HMAC para validar la identidad del partner en cada llamada a la API. Si están habilitadas, debes incluirlas en todas las solicitudes:

CabeceraDescripción
x-partner-nameNombre de la aplicación cliente en mayúsculas. Sirve para identificar y autorizar al partner que realiza la llamada.
x-request-timestampTimestamp UNIX que indica cuándo se hace la solicitud. Ayuda a prevenir ataques de repetición.
x-hmac-signatureFirma HMAC-SHA256 generada firmando el mensaje NOMBRE_PARTNER:TIMESTAMP_UNIX con la clave compartida entre el partner y Redtrust.

La validación HMAC puede deshabilitarse desde la configuración de la instalación. Consulta con el administrador de Redtrust si tu integración la requiere.

Formato de respuesta

Todos los endpoints devuelven la siguiente estructura JSON:

{
"message": "string",
"messageType": "SUCCESS",
"errorCode": "string",
"data": {}
}
CampoDescripción
messageMensaje descriptivo del resultado.
messageTypeSUCCESS si la operación se completó correctamente; ERROR si se produjo algún problema.
errorCodeCódigo identificativo del error, o OK cuando la operación es correcta.
dataContenido de la respuesta. El tipo varía según el endpoint — puede ser un objeto, una lista o estar vacío.

¿Te ha resultado útil esta página?