API: Métodos relacionados con los certificados del usuario

Importante: Para acceder a estos métodos es necesario tener un token de acceso (access_token) obtenido mediante una petición de autenticación y autorización con un scope de tipo certificate o certificates, para lo que hay que seguir los pasos indicados en esta sección de la documentación.

Obtener certificados del usuario

Con este método podemos obtener el listado de certificados disponibles (activos) para un usuario.

Uso del servicio

Método: GET
URL: {viafirma_fortress_url}/api/v1/user/{user_code}/certificate

Donde:

Además, en la cabecera HTTP de la petición GET debe incluirse el token de acceso (access_token) de la siguiente forma:

Authorization: Bearer {access_token}

Ejemplo:

Método: GET
URL: https://fortress.viafirma.com/fortress/api/v1/user/sample_user/certificate
Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) de la siguiente forma:

[
    {
        "code": "226ffa94-1f0f-4c43-98aa-c7c8e4ccf657",
        "name": "Sample Certificate 01",
        "description": "Lorem ipsum dolor sit amet"
        "dateIssued": 1492432671000,
        "dateExpired": 1555504674000,
        "serialNumber": "1250978750360690486",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=Sample Certificate 01, SERIALNUMBER=TEST, GIVENNAME=TEST, SURNAME=TEST, C=DO",
        "pem": "MIIGsTCCBZmgAwIBAgIQESeGCdXLzw9XurB4LNd0BjANBgkq..."
    },
    {
        "code": "014e684e-4751-4850-853c-c90802385a78",
        "name": "Sample Certificate 02",
        "description": "Lorem ipsum dolor sit amet"
        "dateIssued": 1492517893000,
        "dateExpired": 1555504678000,
        "serialNumber": "4096319273351924161",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=Sample Certificate 02, SERIALNUMBER=TEST, GIVENNAME=TEST, SURNAME=TEST, C=DO",
        "pem": "MIIFTDCCBDSgAwIBAgIIHZer06chPs4wDQYJKoZIhvcNAQEFB..."
    },
    {
        "code": "024v694e-4899-4876-863f-j91872310e70",
        "name": "Sample Certificate 03",
        "description": "Lorem ipsum dolor sit amet"
        "dateIssued": 1493432678000,
        "dateExpired": 1556504679000,
        "serialNumber": "2046339272352914110",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=Sample Certificate 03, SERIALNUMBER=TEST, GIVENNAME=TEST, SURNAME=TEST, C=DO",
        "pem": "MIIGnTCCBYWgAwIBAgIQTuF2zDNK0C5XVqAhuNMuHjANBgkqhk..."
    }
]

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
pem string Certificado (público) en formato PEM

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
user_not_found El usuario no es correcto o no está activo (HTTP Status: 404)

Obtener un certificado del usuario

Con este método podemos obtener un certificado en concreto disponible (activo) para un usuario.

Uso del servicio

Método: GET
URL: {viafirma_fortress_url}/api/v1/user/{user_code}/certificate/{certificate_code}

Donde:

Además, en la cabecera HTTP de la petición GET debe incluirse el token de acceso (access_token) de la siguiente forma:

Authorization: Bearer {access_token}

Ejemplo:

Método: GET
URL: https://fortress.viafirma.com/fortress/api/v1/user/sample_user/certificate/226ffa94-1f0f-4c43-98aa-c7c8e4ccf657
Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) de la siguiente forma:

[
    {
        "code": "226ffa94-1f0f-4c43-98aa-c7c8e4ccf657",
        "name": "Sample Certificate 01",
        "description": "Lorem ipsum dolor sit amet"
        "dateIssued": 1492432671000,
        "dateExpired": 1555504674000,
        "serialNumber": "1250978750360690486",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=Sample Certificate 01, SERIALNUMBER=TEST, GIVENNAME=TEST, SURNAME=TEST, C=DO",
        "pem": "MIIGsTCCBZmgAwIBAgIQESeGCdXLzw9XurB4LNd0BjANBgkq..."
    }
]

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
pem string Certificado (público) en formato PEM

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
user_not_found El usuario no es correcto o no está activo (HTTP Status: 404)
certificate_not_found El certificado no es correcto o no está activo (HTTP Status: 404)

Obtener certificados de un sistema cliente

Con este método podemos obtener el listado de certificados disponibles (activos) para un sistema cliente.

Uso del servicio

Método: GET
URL: {viafirma_fortress_url}/api/v1/client/{client_id}/certificate

Donde:

Además, en la cabecera HTTP de la petición GET debe incluirse el token de acceso (access_token) de la siguiente forma:

Authorization: Bearer {access_token}

Ejemplo:

Método: GET
URL: https://fortress.viafirma.com/fortress/api/v1/client/sample_client/certificate
Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) de la siguiente forma:

[{
        "code": "08d87ff2ed124a8bb7b323cbfb889e9e",
        "dateIssued": 1555495728000,
        "dateExpired": 1618567728000,
        "serialNumber": "228897951488527728794",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES ",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=LUCASMORA PRIETO,SERIALNUMBER = 94967442 M,GIVENNAME = LUCAS,SURNAME = MORA PRIETO,C = DO ",
        "issuerMap": {
            "C": "DO",
            "CN": "TEST AVANSI CERTIFICADOS DIGITALES",
            "L": "WWW.AVANSI.COM.DO",
            "O": "AVANSI S.R.L. - RNC 130222509"
        },
        "subjectMap": {
            "SURNAME": "MORA PRIETO",
            "C": "DO",
            "SERIALNUMBER": "94967442M",
            "1.3.6.1.4.1.27395.8.1": "CERTIFICADO DE PERSONA INDIVIDUAL",
            "CN": "LUCAS MORA PRIETO",
            "GIVENNAME": "LUCAS"
        },
        "pem": "MIIFWjCCBEKgAwI...",
        "delegated": false,
        "level": "MEDIUM"
    },
    {
        "code": "0566a9abed054800afcfc0c7e927bd40",
        "dateIssued": 1555495668000,
        "dateExpired": 1618567668000,
        "serialNumber": "2262470652122451427458",
        "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TEST AVANSI CERTIFICADOS DIGITALES ",
        "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=MARC SERRA CRESPO, SERIALNUMBER = Y1547327Q, GIVENNAME = MARC, SURNAME = SERRA CRESPO, C = DO ",
        "issuerMap": {
            "C": "DO",
            "CN": "TEST AVANSI CERTIFICADOS DIGITALES",
            "L": "WWW.AVANSI.COM.DO",
            "O": "AVANSI S.R.L. - RNC 130222509"
        },
        "subjectMap": {
            "SURNAME": "SERRA CRESPO",
            "C": "DO",
            "SERIALNUMBER": "Y1547327Q",
            "1.3.6.1.4.1.27395.8.1": "CERTIFICADO DE PERSONA INDIVIDUAL",
            "CN": "MARC SERRA CRESPO",
            "GIVENNAME": "MARC"
        },
        "pem": "MIIFWzCCBEOgAwIBAgI...",
        "delegated": false,
        "level": "MEDIUM"
    }
]

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
issuerMap object Atributos del emisor
subjectMap object Atributos del sujeto
delegated boolean indicador de certificado delegado
pem string Certificado (público) en formato PEM
level string Nivel de protección del certificado

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
client_not_found El cliente no es correcto o no está activo (HTTP Status: 404)

Obtener un certificado del cliente

Con este método podemos obtener un certificado en concreto disponible (activo) para un cliente.

Uso del servicio

Método: GET
URL: `{viafirma_fortress_url}/api/v1/client/{client_id}/certificate/{certificate_code}

Donde:

Además, en la cabecera HTTP de la petición GET debe incluirse el token de acceso (access_token) de la siguiente forma:

Authorization: Bearer {access_token}

Ejemplo:

Método: GET
URL: https://fortress.viafirma.com/fortress/api/v1/client/sample_client/certificate/226ffa94-1f0f-4c43-98aa-c7c8e4ccf657
Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) de la siguiente forma:

{
  "code": "08d87ff2ed124a8bb7b323cbfb889e9e",
  "dateIssued": 1555495728000,
  "dateExpired": 1618567728000,
  "serialNumber": "228897951488527728794",
  "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TESTAVANSI CERTIFICADOS DIGITALES ",
  "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=LUCAS MORA PRIETO, SERIALNUMBER = 94967442 M, GIVENNAME = LUCAS, SURNAME = MORA PRIETO, C = DO ",
  "issuerMap": {
    "C": "DO",
    "CN": "TEST AVANSI CERTIFICADOS DIGITALES",
    "L": "WWW.AVANSI.COM.DO",
    "O": "AVANSI S.R.L. - RNC 130222509"
  },
  "subjectMap": {
    "SURNAME": "MORA PRIETO",
    "C": "DO",
    "SERIALNUMBER": "94967442M",
    "1.3.6.1.4.1.27395.8.1": "CERTIFICADO DE PERSONA INDIVIDUAL",
    "CN": "LUCAS MORA PRIETO",
    "GIVENNAME": "LUCAS"
  },
  "pem": "MIIFWjCCBEKgAwIBAgI...",
  "delegated": false,
  "level": "MEDIUM"
}

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
issuerMap object Atributos del emisor
subjectMap object Atributos del sujeto
delegated boolean indicador de certificado delegado
pem string Certificado (público) en formato PEM
level string Nivel de protección del certificado

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
client_not_found El cliente no es correcto o no está activo (HTTP Status: 404)
certificate_not_found El certificado no es correcto o no está activo (HTTP Status: 404)

Alta de nuevos certificados de cliente

Este servicio permite registrar un nuevo certificado y asociarlo a un sistema cliente.

Uso del servicio

Método: POST
URL: `{viafirma_fortress_url}/api/v1/client/{client_id}/certificate

Donde:

Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Ejemplo:

Método: POST
URL: https://fortress.viafirma.com/fortress/api/v1/client/sample_client/certificate
Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Parámetros del servicio

Este servicio recibe por parámetros la configuración del certificado a firmar:

Los parámetros que se reciben (en formato application/json) tienen la siguiente forma:

{
  "keystore": "MIIZXwIBAzCCGRgGCSq...",
  "password": "123456"
}

Donde:

Parámetro Tipo Descripción
code string [OPCIONAL] Código a asociar el certificado, si no se informa Fortress genera uno
description string [OPCIONAL] Descripción asociada al certificado
keystore string Contenido del keystore en formato PKCS#12 codificado en Base64
password string Contraseña del keystore
alias string [OPCIONAL] Alias del certificado dentro del keystore, solo es obligatorio si el keystore almacena más de un certificado

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) con los datos del certificado en el mismo formato que el servicio de consulta de un certificado de un sistema cliente.

{
  "code": "08d87ff2ed124a8bb7b323cbfb889e9e",
  "dateIssued": 1555495728000,
  "dateExpired": 1618567728000,
  "serialNumber": "228897951488527728794",
  "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TESTAVANSI CERTIFICADOS DIGITALES ",
  "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=LUCAS MORA PRIETO, SERIALNUMBER = 94967442 M, GIVENNAME = LUCAS, SURNAME = MORA PRIETO, C = DO ",
  "issuerMap": {
    "C": "DO",
    "CN": "TEST AVANSI CERTIFICADOS DIGITALES",
    "L": "WWW.AVANSI.COM.DO",
    "O": "AVANSI S.R.L. - RNC 130222509"
  },
  "subjectMap": {
    "SURNAME": "MORA PRIETO",
    "C": "DO",
    "SERIALNUMBER": "94967442M",
    "1.3.6.1.4.1.27395.8.1": "CERTIFICADO DE PERSONA INDIVIDUAL",
    "CN": "LUCAS MORA PRIETO",
    "GIVENNAME": "LUCAS"
  },
  "pem": "MIIFWjCCBEKgAwIBAgI...",
  "delegated": false,
  "level": "MEDIUM"
}

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
issuerMap object Atributos del emisor
subjectMap object Atributos del sujeto
delegated boolean indicador de certificado delegado
pem string Certificado (público) en formato PEM
level string Nivel de protección del certificado

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
client_not_found El cliente no es correcto o no está activo (HTTP Status: 404)
invalid_keystore El keystore no se encuentra en formato PKCS#12 o la password es incorrecta (HTTP Status: 404)
invalid_alias No se ha encontrado el certificado con el alias especificado dentro del keystore, o existen varios certificados y no se ha especificado el alias (HTTP Status: 404)
certificate_already_exists El certificado ya se encuentra asociado al sistema cliente (HTTP Status: 404)
expired_certificate El certificado ha caducado (HTTP Status: 404)
revoked_certificate El certificado se encuentra revocado (HTTP Status: 404)
not_trusted_certificate Alguno de los certificados de la cadena no se encuentra en el almacén de confianza (HTTP Status: 404)
certificate_validation Se ha producido un error al validar el certificado (HTTP Status: 404)

Eliminación de certificados de cliente

Este servicio permite eliminar certificados asociados a un sistema cliente.

Uso del servicio

Método: DELETE
URL: `{viafirma_fortress_url}/api/v1/client/{client_id}/certificate/{certificate_code}

Donde:

Header de la petición: Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

Ejemplo:

Método DELETE
URL: https://fortress.viafirma.com/fortress/api/v1/client/sample_client/certificate/08d87ff2ed124a8bb7b323cbfb889e9e Header de la petición:Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42`

Respuesta del servicio

La respuesta de este servicio vendrá dada (en formato application/json) con los datos del certificado eliminado en el mismo formato que el servicio de consulta de un certificado de un sistema cliente.

{
  "code": "08d87ff2ed124a8bb7b323cbfb889e9e",
  "dateIssued": 1555495728000,
  "dateExpired": 1618567728000,
  "serialNumber": "228897951488527728794",
  "issuer": "C=DO, L=WWW.AVANSI.COM.DO, O=AVANSI S.R.L. - RNC 130222509, CN=TESTAVANSI CERTIFICADOS DIGITALES ",
  "subject": "OID.1.3.6.1.4.1.27395.8.1=CERTIFICADO DE PERSONA INDIVIDUAL, CN=LUCAS MORA PRIETO, SERIALNUMBER = 94967442 M, GIVENNAME = LUCAS, SURNAME = MORA PRIETO, C = DO ",
  "issuerMap": {
    "C": "DO",
    "CN": "TEST AVANSI CERTIFICADOS DIGITALES",
    "L": "WWW.AVANSI.COM.DO",
    "O": "AVANSI S.R.L. - RNC 130222509"
  },
  "subjectMap": {
    "SURNAME": "MORA PRIETO",
    "C": "DO",
    "SERIALNUMBER": "94967442M",
    "1.3.6.1.4.1.27395.8.1": "CERTIFICADO DE PERSONA INDIVIDUAL",
    "CN": "LUCAS MORA PRIETO",
    "GIVENNAME": "LUCAS"
  },
  "pem": "MIIFWjCCBEKgAwIBAgI...",
  "delegated": false,
  "level": "MEDIUM"
}

Donde:

Parámetro Tipo Descripción
code string Código identificador del certificado
name string Nombre del certificado
description string Descripción del certificado
dateIssued string Fecha de expedición del certificado en milisegundos
dateExpired string Fecha de expiración del certificado en milisegundos
serialNumber string Número de serie asociado al certificado
issuer string Emisor del certificado
subject string Sujeto del certificado
issuerMap object Atributos del emisor
subjectMap object Atributos del sujeto
delegated boolean indicador de certificado delegado
pem string Certificado (público) en formato PEM
level string Nivel de protección del certificado

Errores del servicio

Los errores devueltos por el servicio (devueltos en formato application/json) tienen el siguiente aspecto:

{
  "error": "error_code",
  "error_description": "error_description"
}

Donde:

Parámetro Tipo Descripción
error string Código del error
error_description string Descripción del error

Posibles errores:

Posibles errores:

Código de error Error
invalid_token El access_token utilizado no es correcto (HTTP Status: 401)
client_not_found El cliente no es correcto o no está activo (HTTP Status: 404)
certificate_not_found No existe un certificado con el código especificado (HTTP Status: 404)

results matching ""

    No results matching ""