Estoy configurando mi primera CA. Su propósito será emitir certificados para nuestros clientes, quienes los usarán para acceder a nuestro servicio EDI a través de https. Entonces necesito generar certificados de cliente SSL. Todo el proceso de firma de certificados ya funciona, y los certificados se pueden usar con éxito para acceder a nuestro servicio, pero me preocupa una cosa:
Los propósitos del certificado generado son genéricos:
$ openssl x509 -purpose -noout -in client.crt.pem
Certificate purposes:
SSL client : Yes
SSL client CA : No
SSL server : Yes
SSL server CA : No
Netscape SSL server : Yes
Netscape SSL server CA : No
S/MIME signing : Yes
S/MIME signing CA : No
S/MIME encryption : Yes
S/MIME encryption CA : No
CRL signing : Yes
CRL signing CA : No
Any Purpose : Yes
Any Purpose CA : Yes
OCSP helper : Yes
OCSP helper CA : No
Siento que en mi caso no debería haber más propósitos que el cliente SSL y la firma S / MIME. ¿Me equivoco y esto debería quedar así?
Si estoy en lo correcto y debo deshabilitar otros propósitos, ¿qué debo poner en mi config de openssl.cnf?
Aquí está mi configuración actual (despojado un poco):
[ CA_edi ]
# here was directory setup and some other stuff, cut it for clarity
x509_extensions = usr_cert # The extentions to add to the cert
name_opt = ca_default # Subject Name options
cert_opt = ca_default # Certificate field options
# Extension copying option: use with caution.
# copy_extensions = copy
# stripped rest of config about validity days and such
[ usr_cert ]
basicConstraints=CA:FALSE
nsCertType = client, email
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, keyAgreement
¿Qué estoy haciendo mal que los certificados generados permiten el uso del servidor?
openssl x509 -text -nameopt multiline -certopt no_sigdump -certopt no_pubkey -noout -in one_of_your_client_certificates.pem
y la sección de extensiones de su openssl.cnf
archivo, veré si puedo proporcionar consejos más específicos.