Outils pour utilisateurs

Outils du site


kb:crypto:creer_ca

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
kb:crypto:creer_ca [2018/08/22 22:46] beukb:crypto:creer_ca [2021/03/30 14:01] (Version actuelle) beu
Ligne 1: Ligne 1:
 ======Créer sa CA et signer ses certificats====== ======Créer sa CA et signer ses certificats======
  
 +
 +==== Création de la CA ====
 Pour cela, on va se rendre dans un dossier isolé : Pour cela, on va se rendre dans un dossier isolé :
  
Ligne 11: Ligne 13:
 <code bash> <code bash>
 # mkdir certs crl newcerts private csr # mkdir certs crl newcerts private csr
 +</code><code bash>
 # chmod 700 private # chmod 700 private
 </code> </code>
Ligne 18: Ligne 21:
 <code bash> <code bash>
 # touch index.txt # touch index.txt
 +</code><code bash>
 # echo 1000 > serial # echo 1000 > serial
 +</code><code bash>
 +# echo 0000 > crlnumber
 </code> </code>
 +
  
 puis on créer le fichier : puis on créer le fichier :
  
-<code openssl openssf.cfg>+<code openssl openssl.cnf>
 [ ca ] [ ca ]
 # `man ca` # `man ca`
Ligne 30: Ligne 37:
 [ CA_default ] [ CA_default ]
 # Directory and file locations. # Directory and file locations.
-dir               /root/ca+dir               .
 certs             = $dir/certs certs             = $dir/certs
 crl_dir           = $dir/crl crl_dir           = $dir/crl
Ligne 39: Ligne 46:
  
 # The root key and root certificate. # The root key and root certificate.
-private_key       = $dir/private/ca.key.pem +private_key       = $dir/private/ca.key 
-certificate       = $dir/certs/ca.cert.pem+certificate       = $dir/certs/ca.pem
  
 # For certificate revocation lists. # For certificate revocation lists.
 crlnumber         = $dir/crlnumber crlnumber         = $dir/crlnumber
-crl               = $dir/crl/ca.crl.pem+crl               = $dir/crl/ca.crl
 crl_extensions    = crl_ext crl_extensions    = crl_ext
 default_crl_days  = 30 default_crl_days  = 30
Ligne 81: Ligne 88:
  
 countryName_default             = FR countryName_default             = FR
-stateOrProvinceName_default     Deux-Sèvres +stateOrProvinceName_default     =  
-localityName_default            = Niort+localityName_default            = 
 0.organizationName_default      = VirtIT 0.organizationName_default      = VirtIT
 #organizationalUnitName_default = #organizationalUnitName_default =
-emailAddress_default           contact@virtit.fr+emailAddress_default           
  
 [ v3_ca ] [ v3_ca ]
Ligne 105: Ligne 112:
 emailAddress            = optional emailAddress            = optional
  
 +[ server_cert ]
 +# Extensions for server certificates (`man x509v3_config`).
 +basicConstraints = CA:FALSE
 +nsCertType = server
 +nsComment = "OpenSSL Generated Server Certificate"
 +subjectKeyIdentifier = hash
 +authorityKeyIdentifier = keyid,issuer:always
 +keyUsage = critical, digitalSignature, keyEncipherment
 +extendedKeyUsage = serverAuth
 +
 +
 +[ usr_cert ]
 +# Extensions for client certificates (`man x509v3_config`).
 +basicConstraints = CA:FALSE
 +nsCertType = client, email
 +nsComment = "OpenSSL Generated Client Certificate"
 +subjectKeyIdentifier = hash
 +authorityKeyIdentifier = keyid,issuer
 +keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
 +extendedKeyUsage = clientAuth, emailProtection
 +
 +[ crl_ext ]
 +authorityKeyIdentifier = keyid:always
 +issuerAltName = issuer:copy
  
 </code> </code>
Ligne 111: Ligne 142:
  
 <code bash> <code bash>
-# openssl genrsa -out private/ca.key.pem 4096+# openssl genrsa -out private/ca.key 4096
 </code> </code>
  
Ligne 118: Ligne 149:
 <code bash> <code bash>
 # openssl req -config openssl.cnf \ # openssl req -config openssl.cnf \
-      -key private/ca.key.pem +      -key private/ca.key \ 
-      -new -x509 -days 7300 -sha256 -extensions v3_ca \ +      -new -x509 -days 7300 -extensions v3_ca \ 
-      -out certs/ca.cert.pem+      -out certs/ca.pem
 </code> </code>
  
-On créer ensuite la clé privée du certificat :+ 
 +==== Création d'un certificat ==== 
 + 
 +If faut d’abord créer la clé privée du certificat :
  
 <code bash> <code bash>
-# openssl genrsa -out private/server.key.pem 4096+# openssl genrsa -out private/server.key 4096
 </code> </code>
  
Ligne 132: Ligne 166:
  
 <code bash> <code bash>
-# openssl req -key private/server.key.pem -new -out csr/server.csr.pem+# openssl req -config openssl.cnf -key private/server.key -new -out csr/server.csr
 </code> </code>
  
Ligne 138: Ligne 172:
  
 <code bash> <code bash>
-# openssl ca -config openssl.cnf -extensions server_cert -days 375 -notext -in csr/server.csr.pem -out certs/server.cert.pem+# openssl ca -config openssl.cnf -extensions server_cert -days 375 -notext -in csr/server.csr -out certs/server.pem
 </code> </code>
 +
 +==== Révoquer un certificat ====
 +
 +On va donc révoquer le certificat :
 +
 +<code bash>
 +# openssl ca -config openssl.cnf -revoke certs/server.pem
 +</code>
 +
 +puis pour garder un peu de clarté, on va le déplacer dans le dossier crl : 
 +
 +<code bash>
 +# mv certs/server.pem crl/
 +</code>
 +
 +Et puis on génère le fichier CRL:
 +
 +<code bash>
 +# openssl ca -config openssl.cnf -gencrl -out crl/ca-crl.pem
 +</code>
 +
kb/crypto/creer_ca.1534977980.txt.gz · Dernière modification : 2018/08/22 22:46 de beu