Validadores de claves

Los validadores de claves validan la calidad de las claves, principalmente como resultado de las solicitudes de firma de certificado (CSR) entrantes. A continuación, se describen los diferentes tipos de validadores de claves: .Key Validators v7.5.0#RSA Key Validator , .Key Validators v7.5.0#ECC Key Validator y .Key Validators v7.5.0#Block List Key Validator , y también se enumeran las configuraciones comunes de los validadores de claves .

Tipos de validadores de claves

Validador de claves RSA

El Validador de Claves RSA inspecciona los parámetros de las claves RSA y valida su calidad, más allá de su longitud y tamaño. Este validador de claves puede aplicar los requisitos de CA/B-Forum (Requisitos Baseline de CA/B Forum, versión 1.4.2, sección 6.1.6), incluyendo FIPS 186-4 y NIST (SP 800-89 y NIST SP 56A: Revisión 2), a las claves públicas RSA. Además, ofrece opciones para realizar las siguientes pruebas en el exponente y módulo RSA:

  • Que el valor del exponente público sea un número impar igual a 3 o más.

  • Que el exponente público está en el rango entre 2^16+1 y 2^256-1.

  • Que el módulo es un número impar, no la potencia de un primo, y no tiene factores menores que 752.

  • Que la clave pública no es una clave débil ROCA (CVE-2017-15361).

Validador de claves ECC

El validador de clave ECC inspecciona la rutina completa de validación de clave pública (NIST SP 56A) en claves ECC.

Validador de claves de lista de bloqueo

Este validador compara claves públicas con una lista de bloqueo de claves públicas conocidas como malas, como claves Debian débiles.

La lista de bloqueos está vacía de forma predeterminada y debe completarse manualmente.

Las entradas enumeradas en el bloque de clave pública se pueden agregar mediante la CLI:

bin/ejbca.sh ca updatepublickeyblocklist add <directorio de claves public bin/ejbca.sh ca updatepublickeyblocklist add <directory of block listed keys>

Donde el directorio contiene archivos de clave pública en formato PEM. Si tiene una lista de claves privadas con formato PEM, puede crear las entradas de clave pública y las CSR para realizar pruebas con estos comandos:

openssl req -key blocklisted-privatekey.pem -out blocklisted.csr - new
openssl rsa -in blocklisted-privatekey.pem -pubout > tmp/blocklisted-publickey.pem

Puede importar un archivo de huellas dactilares de lista de bloqueo (un archivo con una huella dactilar de lista de bloqueo por línea) con:

bin/ejbca.sh ca updatepublickeyblocklist add <directory where block list fingerprint file resides> --mode fingerprint

Las huellas dactilares son:

  • Claves RSA, el hash SHA-256 del módulo bytes de la clave RSA (ignorando el valor fijo e ).

  • Claves ECDSA, el hash SHA-256 de la codificación de clave pública binaria ( SubjectPublicKeyInfo ).

Para importar una de las listas de claves débiles de Debian proporcionadas por los mantenedores de Debian, utilice --mode debianfingerprint .

bin/ejbca.sh ca updatepublickeyblocklist add <directory where debian block lists reside> --mode debianfingerprint

También puedes eliminar huellas dactilares utilizando el archivo de huellas dactilares:

bin/ejbca.sh ca updatepublickeyblocklist remove <directory where block list fingerprint file resides> --mode fingerprint

Para obtener más información sobre las comprobaciones de claves débiles de Debian, consulte Validadores de posprocesamiento .

Configuración común del validador de claves

Configuración

Descripción

Validez del certificado no anterior

La validación solo se realizará si la validez del certificado NotBefore cumple la condición, es decir, si es anterior o posterior a la fecha indicada. Si no se establece ninguna fecha, esta condición no se utiliza. Por ejemplo, una fecha con el formato 2017-02-28 solo validará los certificados válidos a partir del 28 de febrero de 2017.

Validez del certificado no posterior

Realice la validación solo si la validez del certificado NotAfter coincide con la condición.

El formato de la fecha introducida es "aaaa-MM-dd [HH:mm:ss]", por ejemplo, 2022-08-25 para el 25 de agosto de 2022, o, si desea especificar una hora, "2022-08-25 14:50:55". La fecha mostrada se convierte a la zona horaria del servidor; también puede especificar la zona horaria "2022-08-25 14:50:55-0000" para UTC.