3.2. Création d'une autorité de certification privée à l'aide d'OpenSSL


Les autorités de certification (AC) privées sont utiles lorsque votre scénario exige la vérification d'entités au sein de votre réseau interne. Par exemple, utilisez une autorité de certification privée lorsque vous créez une passerelle VPN dont l'authentification est basée sur des certificats signés par une autorité de certification sous votre contrôle ou lorsque vous ne souhaitez pas payer une autorité de certification commerciale. Pour signer des certificats dans de tels cas d'utilisation, l'AC privée utilise un certificat auto-signé.

Conditions préalables

  • Vous disposez des privilèges ou autorisations root pour entrer dans les commandes administratives avec sudo. Les commandes qui requièrent de tels privilèges sont marquées par #.

Procédure

  1. Générez une clé privée pour votre autorité de certification. Par exemple, la commande suivante crée une clé ECDSA (Elliptic Curve Digital Signature Algorithm) de 256 bits :

    $ openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out <ca.key>

    La durée du processus de génération des clés dépend du matériel et de l'entropie de l'hôte, de l'algorithme sélectionné et de la longueur de la clé.

  2. Créez un certificat signé à l'aide de la clé privée générée dans la commande précédente :

    $ openssl req -key <ca.key> -new -x509 -days 3650 -addext keyUsage=critical,keyCertSign,cRLSign -subj "/CN=<Example CA>" -out <ca.crt>

    Le fichier ca.crt généré est un certificat d'autorité de certification auto-signé que vous pouvez utiliser pour signer d'autres certificats pendant dix ans. Dans le cas d'une autorité de certification privée, vous pouvez remplacer <Example CA> par n'importe quelle chaîne de caractères comme nom commun (CN).

  3. Définissez des autorisations sécurisées pour la clé privée de votre autorité de certification, par exemple :

    # chown <root>:<root> <ca.key>
    # chmod 600 <ca.key>

Prochaines étapes

  • Pour utiliser un certificat d'autorité de certification auto-signé comme ancre de confiance sur les systèmes clients, copiez le certificat d'autorité de certification sur le client et ajoutez-le à la liste de confiance de l'ensemble du système des clients en tant que root:

    # trust anchor <ca.crt>

    Voir Chapitre 4, Utilisation de certificats système partagés pour plus d'informations.

Vérification

  1. Créez une demande de signature de certificat (CSR) et utilisez votre autorité de certification pour signer la demande. L'autorité de certification doit réussir à créer un certificat sur la base de la RSC, par exemple :

    $ openssl x509 -req -in <client-cert.csr> -CA <ca.crt> -CAkey <ca.key> -CAcreateserial -days 365 -extfile <openssl.cnf> -extensions <client-cert> -out <client-cert.crt>
    Signature ok
    subject=C = US, O = Example Organization, CN = server.example.com
    Getting CA Private Key

    Voir Section 3.5, « Utilisation d'une autorité de certification privée pour émettre des certificats pour les CSR avec OpenSSL » pour plus d'informations.

  2. Affichez les informations de base sur votre AC auto-signée :

    $ openssl x509 -in <ca.crt> -text -noout
    Certificate:
    …
            X509v3 extensions:
                …
                X509v3 Basic Constraints: critical
                    CA:TRUE
                X509v3 Key Usage: critical
                    Certificate Sign, CRL Sign
    …
  3. Vérifier la cohérence de la clé privée :

    $ openssl pkey -check -in <ca.key>
    Key is valid
    -----BEGIN PRIVATE KEY-----
    MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgcagSaTEBn74xZAwO
    18wRpXoCVC9vcPki7WlT+gnmCI+hRANCAARb9NxIvkaVjFhOoZbGp/HtIQxbM78E
    lwbDP0BI624xBJ8gK68ogSaq2x4SdezFdV1gNeKScDcU+Pj2pELldmdF
    -----END PRIVATE KEY-----

Ressources supplémentaires

  • openssl(1), ca(1), genpkey(1), x509(1), et req(1) pages de manuel
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.