La respuesta simple a esto es que casi cada aplicación lo manejará de manera diferente.
Además, OpenSSL y GNUTLS (las bibliotecas de procesamiento de certificados más utilizadas para manejar certificados firmados) se comportan de manera diferente en el tratamiento de los certificados, lo que también complica el problema. Además, los sistemas operativos utilizan diferentes mecanismos para utilizar la "CA raíz" utilizada por la mayoría de los sitios web.
Aparte de eso, dando a Debian como ejemplo. Instala el ca-certificates
paquete:
apt-get install ca-certificates
Luego copia la mitad pública de su certificado de CA no confiable (el que usa para firmar su CSR) en el directorio del certificado de CA (como raíz):
cp cacert.pem /usr/share/ca-certificates
Y consiga que reconstruya el directorio con su certificado incluido, ejecútelo como root:
dpkg-reconfigure ca-certificates
y seleccione la ask
opción, desplácese hasta su certificado, márquelo para incluirlo y seleccione ok.
La mayoría de los navegadores usan su propia base de datos de CA, por lo que certutil
se deben usar herramientas como para modificar su contenido (en Debian que proporciona el libnss3-tools
paquete). Por ejemplo, con Chrome ejecutas algo en la línea de:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
Firefox le permitirá buscar el certificado en el disco, reconocerlo como un archivo de certificado y luego le permitirá importarlo a la lista de CA raíz.
La mayoría de los otros comandos, como los curl
interruptores de línea de comando take, puede usar para apuntar a su CA,
curl --cacert /path/to/CA/cert.file https://...
o descartar la validación SSL por completo
curl --insecure https://...
El resto necesitará una investigación individual si el ca-certificates
truco similar no lo ordena para esa aplicación en particular.