Especificaciones

A continuación se describe, de manera técnica, los requisitos necesarios para la invocación del servicio Rest que solicitará, mediante una firma electrónica, la prueba de que el TPP está en posesión del certificado tipo QSealC correspondiente, según describe el reglamento eIDAS.

Especificaciones técnicas

Endpoint del servicio rest

https://[DOMAIN]/BeRestServices/rest/tppservices/[API_ID]/registry

Datos de entrada

  • timeStamp * - Fecha y hora en que se lanza la petición. Para generar este valor se debe utilizar el estándar de Tiempo Universal Coordinado (UTC) con formato yyyy-MM-dd HH:mm:ssZ.
  • b64Signature * - Firma en formato binaria codificado Base64. El algorimo de la firma debe ser SHA256withRSA y lo que se firma es el dato utilizado en el campo anterior codificado en UTF-8.
  • b64Certificate * - Certificado en formato binario codificado Base64. Corresponde a la parte púbilica del certificado utilizado para realizar la firma anterior.
  • phone - Teléfono de contacto del TPP.
  • email - Correo electrónico de contacto del TPP.
  • callbackURL * – URL del CallBack.

* Campos obligatorios

Ejemplo de mensaje enviado:

{
	"timeStamp": "2019-05-24 14:17:29Z",
	"b64Signature": "HnMxPYD5s+0/LdGgdhYYZbuTQHGGp0JIZTOmvr/ub3GI6p6USwIk9VdCtmW5kWT5XFJdYApZO2dRJO+l9aEj66jnfHqFiYyrnQHs0JhItw0OsD2C8Vr3wLN4sMJGG31Y+rqLw8yh4SQ0RZxCXbbH3NwLodsak8jTfLKeIz8Km4wU8jFUr89fuYgdumQhqdAhCsszIA8to4HjlrtrUzY9SXpuPcnkdbPqfSitBAF8Qxd9dsXI2F6SR2NuDICpo4JqahXXjwErX6VwgoDeoHGtf+hZ46bDLSw5NQP3NSd/XJ622QrGyXWnJoLLKEZameHo++tw+dFmRKTGVWlygHxBqw==",
	"b64Certificate": "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",
	"phone": "666777777",
	"email": "test@mail.com",
	"callbackURL" : "https://URL/callback/"
}

Datos de salida

  • userName - Nombre de usuario generado para el acceso al portal de desarrollador de APIs de la entidad.
  • userPassword - Password generado para el usuario.
  • appId - Identificador de la aplicación creada.
  • key - Claves generadas para utilizar en la autenticación OAUTH 2.0. Para cada clave se devuelven los siguientes campos.
  • keyType - Tipo de clave. Se entrega una clave para utilizar en SANDBOX y otra clave para utilizar en PRODUCCIÓN.
  • consumerKey - Identificador para OAUTH 2.
  • consumerSecret - Password para OAUTH 2.
  • error - Si se produce algún error en el servicio, se indica en este campo.

Ejemplo de respuesta recibida:

{
	"userName":"USER1559057720366",
	"userPassword":"H377LWr3Y1",
	"appId":"07289155-071d-4f59-9c03-f151625c8990",
	"key":[
		{
			"keyType":"SANDBOX",
			"consumerKey":"dmHiuwCsx3Y6gGfNpLZfTWDOT3ga",
			"consumerSecret":"Eu3AGGqO2jbnWUEA4P0ElG5jLGMa"
		},
		{
			"keyType":"PRODUCTION",
			"consumerKey":"OHN5tti0IX1RceedELh7thdcB5ga",
			"consumerSecret":"flBfLtgEHBqs1zN5bi7mVTsq7_ka"
		}
	],
	"error":""
}

Los posibles errores que puede devolver el servicio son:

  • Error timestamp format - El sello de tiempo no tiene un formato correcto.
  • Timestamp not valid - El sello de tiempo es posterior a la fecha de envío.
  • Timestamp expired - Han pasado más del tiempo establecido para aceptar el sello de tiempo. El límite de tiempo es de 30 segundos.
  • Error base64 certificate format - La codificación Base64 del certificado no es correcta.
  • Error certificate format - El dato enviado no corresponde a un certificado correctamente formado.
  • Certificate not valid - El certificado está caducado o revocado.
  • Error base64 signature format - La codificación Base64 de la firma no es correcta.
  • Error signature format - El dato enviado no corresponde a una firma correctamente formada.
  • Signature not valid - La firma no es válida.
  • Internal error - Se ha producido un error interno al registrar el TPP y configurarle el acceso a las APIs.
Volver