Howto créer un certificat avec openssl, y compris d'un point de distribution CRL?
Je vais avoir des problèmes en utilisant openssl pour créer un certificat x509 contenant un point de distribution crl pour les tests.
J'ai vérifié la documentation et trouvé le paramètre de configuration crlDistributionPoints à cette fin. Malheureusement openssl génère toujours x509 version 1 certificats sans au lieu de la version 3 de certificats avec le point de distribution crl.
Je suis sûr que quelque chose est incorrect avec ma commande ou de la configuration, mais la lecture de la documentation avec soin et de jouer avec la configuration n'a pas aidé. Autres paramètres du fichier de configuration sont considérées comme tellement je suis sûr que le fichier lui-même est utilisé par openssl.
Je suis l'aide de la commande
openssl x509 -req -in $NAME.csr -out certs/$NAME.pem -days 3650 -CAcreateserial -CA cacert.pem -CAkey private/cakey.pem -CAserial serial
Je suis en utilisant le fichier de configuration suivant:
[ ca ]
default_ca = CA_default
[ CA_default ]
dir = /home/ca
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/cacert.pem
serial = $dir/serial
private_key = $dir/private/cakey.pem
RANDFILE = $dir/private/.rand
default_days = 3650
default_crl_days = 30
default_md = md5
policy = policy_any
email_in_dn = no
name_opt = ca_default
cert_opt = ca_default
copy_extensions = none
x509_extensions = extensions_section
[ extensions_section ]
crlDistributionPoints=URI:http://example.com/crl.pem
[ policy_any ]
countryName = supplied
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
Des idées?
OriginalL'auteur Markus Kreusch | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
openssl x509
ne pas lire la configuration des extensions que vous avez spécifié ci-dessus dans votre fichier de configuration.Vous pouvez obtenir le
crlDistributionPoints
dans votre certificat dans (au moins) ces deux façons:Utilisation
openssl ca
plutôt quex509
de signer la demande. Passer-config
selon le besoin, si la config n'est pas dans un emplacement par défaut. La plupart de votre commande fourni peut être utilisé si vous omettez les options de départ avec-CA
openssl ca -in $NAME.csr -out certs/$NAME.pem -days 3650
Utilisez la commande que vous avez fourni dans votre question, mais d'abord créer un fichier contenant votre v3 extensions (c'est à dire
mycrl.cnf
); ajouter l'option-extfile mycrl.cnf
à votre appel àopenssl x509
Où
mycrl.cnf
contient les éléments suivants:crlDistributionPoints=URI:http://example.com/crl.pem
openssl ca
est probablement la commande et mieux adapté à ce que vous voulez faire, car la plupart des exemples que vous trouverez invoquer cette commande en utilisant différents paramètres dans openssl.cnf pour v3 extensions.Aparté: il est déconseillé utiliser MD5 message digest dans les certificats.
Précédemment SHA1 est l'alternative proposée pour MD5, cependant, que trop est en train de devenir obsolète. Vous pouvez spécifier le message digest utilisées dans les demandes et la signature des opérations, et vous pouvez lister les prises en charge des résumés de message avec
openssl list-message-digest-commands
.Comme un exemple, vous pouvez utiliser SHA256 lors de la signature d'une demande auprès de l'
-md sha256
option pouropenssl ca
( ou paramètredefault_md=sha256
dans votre[CA_default]
section de configuration).OriginalL'auteur Eli Heady