> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/resources/fr/other-resources/generate-a-self-signed-server-and-client-certificates-with-openssl.md).

# Générer des certificats serveur et client auto-signés avec OpenSSL

Voici le guide définitif pour créer des certificats sécurisés, autant pour les serveurs que pour les clients, à l'aide d'OpenSSL.

## Procédure

{% hint style="info" %}
Sur Windows, il est recommandé d'utiliser Chocolatey pour installer OpenSSL et ses dépendances. La ligne de commande est simplement `choco install openssl`.
{% endhint %}

### Créer l'autorité de certification racine (AC)

1. Générez la ***clé privée de l'AC racine*** à l'aide de la ligne de commande suivante : `openssl ecparam -name prime256v1 -genkey -noout -out ca.key`. Chaque certificat doit avoir une clé privée correspondante.
2. Générez le ***certificat de l'AC racine*** (autorité de certification) à l'aide de la ligne de commande suivante : `openssl req -new -x509 -sha256 -key ca.key -out ca.crt`.
3. Saisissez les informations sur l'AC (le certificat sera généré dans le fichier ca.crt) :

   ```
   Country Name (2 letter code) [AU]:US
   State or Province Name (full name) [Some-State]:CA
   Locality Name (eg, city) []:Toontown
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc.
   Organizational Unit Name (eg, section) []:Security
   Common Name (e.g. server FQDN or your name) []:acme.com
   Email Address []:security@acme.com
   ```
4. [Installez le certificat](/resources/fr/other-resources/install-root-certificates.md).

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Notez que le certificat doit être installé sur le serveur et sur tous les clients pour valider la légitimité des certificats émis. Certains navigateurs ont aussi des particularités qui sont décrites dans le sujet.</p></div>

### Générer une demande de signature de certificat (CSR) – Serveur

{% hint style="warning" %}
Ces étapes sont habituellement effectuées sur chaque serveur ou appareil pour lequel vous avez l'intention de demander un certificat. Installez OpenSSL s'il n'est pas présent. L'alternative est de déployer de façon sécuritaire la clé privée vers le serveur de destination en même temps que le certificat. Il est recommandé d'utiliser cette dernière approche seulement si vous devez respecter des déploiements scriptés pour suivre les pratiques CloudOps/DevOps.
{% endhint %}

1. Générez la ***clé privée du certificat du serveur*** à l'aide de la ligne de commande suivante : `openssl ecparam -name prime256v1 -genkey -noout -out server.key` (clé privée de 256 bits dans le fichier server.key). Chaque certificat doit avoir une clé privée correspondante.
2. Générez la ***demande de signature de certificat*** (CSR) du serveur à l'aide de la ligne de commande suivante : `openssl req -new -sha256 -key server.key -out server.csr`. Cette demande sera traitée plus tard sur le serveur de l'AC racine.
3. Saisissez les informations sur le certificat du serveur (le FQDN exact qui est utilisé par le serveur doit être spécifié). Par exemple :

   ```
   Country Name (2 letter code) [AU]:US
   State or Province Name (full name) [Some-State]:CA
   Locality Name (eg, city) []:Toontown
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc.
   Organizational Unit Name (eg, section) []:Security
   Common Name (e.g. server FQDN or your name) []:vault.acme.com
   Email Address []:security@acme.com
   ```
4. Saisissez un mot de passe dans l'invite; l'utilisation d'un gestionnaire de mots de passe ainsi que d'un générateur de mots de passe robuste est essentielle.
5. Transférez le fichier server.csr vers l'AC racine.
6. Traitez la demande en suivant les instructions dans ***Traiter une demande de signature de certificat (CSR) sur l'autorité de certification racine (AC)*** ci-dessous.
7. Déployez le certificat.

### Générer une demande de signature de certificat (CSR) – Client

Suivez la même procédure que pour le certificat du serveur, mais vous devez adapter deux attributs des informations que vous saisissez à vos besoins, soit le ***Nom commun*** et l'***Adresse courriel***.

```
Common Name (e.g. server FQDN or your name) []:John Doe
Email Address []:JohnDoe@acme.com
```

### Traiter une demande de signature de certificat (CSR) sur l'autorité de certification racine (AC)

Traitez la CSR en générant un certificat.

Générez-le à l'aide de la ligne de commande suivante, où le fichier server.csr a été généré sur le serveur : `openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1000 -sha256`

Cela a pour résultat que le certificat est généré dans le fichier server.crt. Vous devez le déployer sur le serveur où vous avez généré la CSR.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/resources/fr/other-resources/generate-a-self-signed-server-and-client-certificates-with-openssl.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
