Política de Firmas en viafirma documents

Personalización de las propiedades de certificados

Última revisión: 24-sep-2018

Además de la personalización de los mecanismos de validación a nivel de certificados, viafirma te permitirá personalizar el tratamiento de los atributos incluidos en cada uno de ellos.

Para ello tendrás que incluir excepciones en la configuración por defecto, haciendo uso del fichero de configuración certificate_support.json donde podrás definir cómo tratar los atributos de cada certificado que quieras personalizar.

¿Cómo identificar a un certificado?

Para incluir un comportamiento individual podrás identificar al certificado digital por dos medios:

por su número de serie

Ejemplo:

"3118166592089583322": {
      "subject": "Revoked certificate JUnit test",
      "type": "Public Employee",
      "revocationType": "CRL_CACHE"
    }

por el tipo de certificado

Ejemplo:

"1.3.6.1.4.1.27395.6.2.4": {
      "subject": "Revoked certificate JUnit test",
      "type": "Public Employee",
      "revocationType": "CRL_CACHE"
    }

De esta segunda forma optamos por aplicar una regla a un conjunto de certificados, en concreto a todos aquellos que tengan una política de certificados con OID número 1.3.6.1.4.1.27395.6.2.4, según el ejemplo anterior.

¿Cómo incluir excepciones de PROPIEDADES por certificado?

Añadir mapa de propiedades

properties:[properties_map]

En el fichero de configuración certificate-support.json podrás definir un mapa de propiedades que te ayudará a incorporar valor semántico a tus modelo de negocio.

Ejemplo:

"properties": {
    "2.5.29.9": "subjectDirectoryAttributes",
    "2.5.29.14": "subjectKeyIdentifier",
    "2.5.29.15": "keyUsage",
    "2.5.29.16": "privateKeyUsagePeriod",
    "2.5.29.17": "subjectAlternativeName",
    "2.5.29.18": "issuerAlternativeName",
    "2.5.29.19": "basicConstraints",
    "2.5.29.20": "cRLNumber",
    "2.5.29.21": "reasonCode",
    "2.5.29.23": "instructionCode",
    "2.5.29.24": "invalidityDate",
    "2.5.29.27": "deltaCRLIndicator",
    "2.5.29.28": "issuingDistributionPoint",
    "2.5.29.29": "certificateIssuer",
    "2.5.29.30": "nameConstraints",
    "2.5.29.31": "cRLDistributionPoints",
    "2.5.29.32": "certificatePolicies",
    "2.5.29.33": "policyMappings",
    "2.5.29.35": "authorityKeyIdentifier",
    "2.5.29.36": "policyConstraints",
    "2.5.29.37": "extendedKeyUsage",
    "2.5.29.46": "freshestCRL",
    "2.5.29.54": "inhibitAnyPolicy",
    "2.5.29.55": "targetInformation",
    "2.5.29.56": "noRevAvail",
    "1.3.6.1.5.5.7.1.1": "authorityInfoAccess",
    "1.3.6.1.5.5.7.1.11": "subjectInfoAccess",
    "1.3.6.1.5.5.7.1.12": "logoType",
    "1.3.6.1.5.5.7.1.2": "biometricInfo",
    "1.3.6.1.5.5.7.1.3": "qCStatements",
    "1.3.6.1.5.5.7.1.4": "auditIdentity"
  }

De momento estas propiedades sólo estarán visibles en los logs y auditorías de validación, incorporando los valores identificados para cada propiedad encontrada.