3.7. Création d'une clé privée et d'une CSR pour un certificat de serveur TLS à l'aide de GnuTLS
Pour obtenir le certificat, vous devez d'abord créer une clé privée et une demande de signature de certificat (CSR) pour votre serveur.
Procédure
Générez une clé privée sur votre système serveur, par exemple :
$ certtool --generate-privkey --sec-param High --outfile <example-server.key>
Facultatif : Utilisez un éditeur de texte de votre choix pour préparer un fichier de configuration qui simplifie la création de votre CSR, par exemple :
$ vim <example_server.cnf> signing_key encryption_key key_agreement tls_www_server country = "US" organization = "Example Organization" cn = "server.example.com" dns_name = "example.com" dns_name = "server.example.com" ip_address = "192.168.0.1" ip_address = "::1" ip_address = "127.0.0.1"
Créez une RSC à l'aide de la clé privée que vous avez créée précédemment :
$ certtool --generate-request --template <example-server.cfg> --load-privkey <example-server.key> --outfile <example-server.crq>
Si vous omettez l'option
--template
, l'utilitairecertool
vous demande des informations supplémentaires, par exemple :You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Generating a PKCS #10 certificate request... Country name (2 chars): <US> State or province name: <Washington> Locality name: <Seattle> Organization name: <Example Organization> Organizational unit name: Common name: <server.example.com>
Prochaines étapes
- Soumettez la CSR à l'autorité de certification de votre choix pour signature. Sinon, pour un scénario d'utilisation interne au sein d'un réseau de confiance, utilisez votre autorité de certification privée pour la signature. Voir Section 3.9, « Utilisation d'une autorité de certification privée pour émettre des certificats pour les CSR avec GnuTLS » pour plus d'informations.
Vérification
Après avoir obtenu le certificat demandé auprès de l'autorité de certification, vérifiez que les parties lisibles par l'homme du certificat correspondent à vos exigences, par exemple :
$ certtool --certificate-info --infile <example-server.crt> Certificate: … Issuer: CN = Example CA Validity Not Before: Feb 2 20:27:29 2023 GMT Not After : Feb 2 20:27:29 2024 GMT Subject: C = US, O = Example Organization, CN = server.example.com Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) … X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment, Key Agreement X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Subject Alternative Name: DNS:example.com, DNS:server.example.com, IP Address:192.168.0.1, IP …
Ressources supplémentaires
-
certtool(1)
page de manuel