> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/fr/deploiement-de-scepman/intermediate-certificate.md).

# AC intermédiaire

{% hint style="warning" %}
SCEPman Enterprise Edition uniquement
{% endhint %}

Si vous souhaitez utiliser une autre AC racine comme autorité principale, vous pouvez créer un certificat d’AC intermédiaire pour exploiter SCEPman en tant qu’autorité de certification subordonnée. Vous pouvez créer le certificat correct directement dans Azure Key Vault et télécharger la CSR pour la faire signer par votre AC racine. La demande signée peut être téléversée et fusionnée dans Azure Key Vault. Cet article vous guide en détail à travers les étapes nécessaires.

## Autorisations Key Vault

Vous devez accorder à votre compte utilisateur l’accès à Azure Key Vault afin de créer la CSR et de fusionner le certificat d’AC intermédiaire. La manière d’attribuer les autorisations dépend de la configuration d’accès de votre Key Vault :

{% tabs %}
{% tab title="Azure RBAC" %}

1. Accédez à votre Azure Key Vault dans le Azure Portal
2. Cliquez sur **Contrôle d’accès (IAM)** dans le volet de navigation de gauche.
3. Cliquez sur **Attributions de rôles** et ajoutez une nouvelle attribution de rôle

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FZUqsPTRdUk5IhmZZlBVD%2Fimage.png?alt=media&amp;token=325c2296-4f6b-476d-b003-29cf3674556f" alt=""><figcaption><p>Ajoutez une nouvelle attribution de rôle à votre Key Vault</p></figcaption></figure>

4. Sélectionnez le **Key Vault Certificate Officer** rôle, puis cliquez sur **Suivant**

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FptcaAY0strUu3qIgkTdc%2Fimage.png?alt=media&amp;token=6bf4adc2-da77-4ece-ba68-09c61fc6905e" alt=""><figcaption></figcaption></figure>

5. Recherchez maintenant et ajoutez votre compte administrateur AAD dans la **Membres** section, puis poursuivez l’attribution du rôle

Après avoir ajouté l’attribution de rôle, votre compte Azure AD est autorisé à créer une CSR et à téléverser le certificat.
{% endtab %}

{% tab title="Stratégies d’accès au coffre" %}

1. Accédez à votre Azure Key Vault dans le Azure Portal
2. Cliquez sur **stratégies d'accès** dans le volet de navigation de gauche.
3. Cliquez sur **Créer** et choisissez le **Gestion des certificats** modèle, puis suivant

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FD2mWeiZ7YnQuRN0rdypW%2F2023-06-14%2016_20_43-IntermediateCert.png?alt=media&amp;token=da6b385e-8902-4b53-8a9f-25f3573d6532" alt=""><figcaption></figcaption></figure>

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2F37QHfqcQRHNboM4yQkTb%2F2023-06-14%2016_23_37-IntermediateCert.png?alt=media&amp;token=3cc22a95-8f13-4487-b270-083efa2779bd" alt=""><figcaption></figcaption></figure>

4. Recherchez maintenant et ajoutez votre compte administrateur AAD dans la **Principal** section, puis suivant, suivant, et créer

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FIj3S2D7wkNquLnBJSUQe%2F2023-06-14%2017_06_33-.png?alt=media&amp;token=195c03cb-a120-434b-8aa1-c44d4b2d26f6" alt=""><figcaption></figcaption></figure>

Après avoir ajouté les autorisations, votre compte Azure AD est autorisé à créer une CSR et à téléverser le certificat.
{% endtab %}
{% endtabs %}

## Ouvrir la connectivité réseau de Key Vault au système d’administration

Si vous utilisez un [point de terminaison privé](/fr/configuration-azure/private-endpoints.md) pour Key Vault, vous devez ajouter une exception qui permet au client d’accéder à Key Vault au niveau réseau. Si vous n’utilisez pas de point de terminaison privé, vous pouvez ignorer cette partie.

* Accédez à Azure Key Vault dans le Azure Portal.
* Accédez au volet Réseau sous Paramètres.
* Passez à « Autoriser l’accès public à partir de réseaux virtuels et d’adresses IP spécifiques » si vous avez actuellement sélectionné « Désactiver l’accès public ».
* Ajoutez l’adresse IP du client sur lequel vous souhaitez [exécuter plus tard le module PowerShell SCEPman](#creating-intermediate-ca-certificate-with-the-scepman-powershell-module). Si vous utilisez Azure Cloud Shell et [qu’il est connecté à un VNET](https://learn.microsoft.com/en-us/azure/cloud-shell/vnet/overview), vous pouvez ajouter ce VNET. Sinon, la méthode la plus simple consiste à autoriser temporairement l’adresse IP publique de Cloud Shell, car l’authentification forte protège votre Key Vault. Vous pouvez utiliser une commande telle que `(Invoke-WebRequest -UseBasicParsing -uri "http://ifconfig.me/ip").Content` pour trouver l’adresse IP publique de la session.

## Mettre à jour les paramètres d’Azure App Service

L’étape suivante consiste à mettre à jour la configuration d’Azure App Service afin qu’elle corresponde au nom de sujet de l’AC intermédiaire que vous allez créer à l’étape suivante.

1. Accédez à votre Azure App Service
2. Cliquez sur **Variables d'environnement** dans le volet de navigation de gauche
3. Dans **Paramètres d’application,** vous devez modifier les paramètres suivants :
   1. `AppConfig:KeyVaultConfig:RootCertificateConfig:CertificateName`\
      Changez ceci pour un nom commun (CN) de votre choix pour votre AC intermédiaire.
   2. `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject`\
      Ne modifiez que la valeur CN du nom de sujet afin qu’elle corresponde au nom commun utilisé ci-dessus.
4. Cliquez sur **Appliquez et confirmez.**
5. Redémarrez Azure **App Service** pour appliquer les modifications, puis accédez à votre URL SCEPman.

{% hint style="warning" %}
Veuillez noter que la variable CertificateName correspondra directement à l’objet certificat qui sera créé dans Azure Key Vault. Vous ne pouvez donc utiliser que des noms de certificat contenant des caractères alphanumériques et des tirets
{% endhint %}

<figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FvO2YgKtltBesm2Eme7ix%2Fimage.png?alt=media&amp;token=9ec3f21e-b6eb-47c5-8e10-3e2cbe519669" alt=""><figcaption></figcaption></figure>

## Création d’un certificat d’AC intermédiaire avec le module PowerShell SCEPman

{% hint style="warning" %}
Pour garantir le bon fonctionnement de ce module, vous aurez besoin d’un poste de travail avec [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (également appelée `az`) installé. Azure CLI est préinstallé dans le [Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), qui est l’environnement recommandé pour exécuter ce module.
{% endhint %}

Vous pouvez utiliser la version 1.9 et ultérieure du module PowerShell SCEPman pour créer une CSR pour un certificat d’AC intermédiaire. Vous pouvez installer la dernière version du module depuis PowerShell Gallery avec la commande suivante :

```powershell
Install-Module -Name SCEPman -Scope CurrentUser -Force
```

Ensuite, vous pouvez indiquer au module le nom de votre organisation à faire apparaître dans le certificat :

```powershell
Reset-IntermediateCaPolicy -Organization "Mon organisation"
```

Configurez le sujet de votre AC intermédiaire pour qu’il corresponde à celui que vous avez utilisé ci-dessus dans `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject` (facultativement, vous pouvez modifier certains paramètres supplémentaires pour contrôler le contenu de la CSR) :

{% code lineNumbers="true" %}

```
$policy = Get-IntermediateCaPolicy
$policy.policy.x509_props.subject = "CN=YOUR_CN_FROM_ABOVE,OU=YOUR_TENANT_ID,O=YOUR_ORGANIZATION"
# modifier certains paramètres supplémentaires de $policy
Set-IntermediateCaPolicy -Policy $policy
```

{% endcode %}

Enfin, vous pouvez créer la CSR avec la commande suivante (ou une commande similaire selon votre environnement) :

```powershell
New-IntermediateCA -SCEPmanAppServiceName "app-scepman-example" -SearchAllSubscriptions 6>&1
```

La commande affichera la CSR que vous soumettez à votre AC racine pour signature.

## Émettre le certificat d’AC intermédiaire

Maintenant, soumettez votre CSR à votre AC racine et récupérez votre certificat d’AC intermédiaire émis. Enregistrez le certificat sur le disque (.cer), afin que, à l’étape suivante, vous puissiez le téléverser et le fusionner avec la clé privée dans Azure Key Vault.

### Étapes particulières pour une AC racine d’entreprise ADCS

Si vous utilisez Active Directory Certificate Services comme AC racine intégrée à Active Directory et devez donc choisir un modèle de certificat, celui-ci doit inclure les utilisations de clé suivantes : « CRLSign », « DigitalSignature », « KeyEncipherment » et « KeyCertSign ». KeyEncipherment est absent du modèle par défaut « Subordinate Certificate Authority » et ne peut en outre pas être sélectionné sur les nouveaux modèles. Veuillez consulter ci-dessous une solution si vous rencontrez ce problème. **Cela ne s’applique pas aux AC racines autonomes**, alias AC racines hors ligne, car elles reprennent correctement les utilisations de clé à partir de la CSR.

#### Aperçu

Vous pouvez dupliquer le modèle SubCA ou l’utiliser selon vos besoins. Ensuite, vous émettez simplement un certificat avec le modèle basé sur la CSR. Ce certificat aura *la mauvaise utilisation de clé* (0x86). Ensuite, vous re-signez le certificat avec une extension d’utilisation de clé adaptée à l’aide de `certutil -sign`.

#### Étape par étape

1. Demandez et émettez un certificat SubCA.
2. Exportez le nouveau certificat SubCA vers un fichier (par ex. c:\temp\SubCA.cer) sur l’AC racine. Choisissez **X.509 encodé en Base64** format.
3. Créez un fichier « extfile.txt » avec le contenu indiqué ci-dessous sur l’AC racine (par ex. c:\temp\extfile.txt).
4. Ouvrez l’invite de commande et exécutez : `certutil -sign "c:\temp\SubCA.cer" "c:\temp\SubCAwithKeyEncipher.cer" @c:\temp\extfile.txt`
5. Le certificat SubCAwithKeyEncipher.cer contient maintenant l’utilisation de clé demandée (0xA6). L’empreinte numérique (signature) a changé, mais pas le numéro de série.
6. La liste des certificats émis dans ADCS contient l’ancien certificat. Comme le numéro de série n’a pas changé, vous pouvez gérer le nouveau certificat à l’aide de l’ancien identifiant ; par exemple, la révocation de l’ancien certificat révoquera le nouveau certificat. Si cela ne vous convient pas, vous pouvez supprimer l’ancienne entrée de certificat à l’aide de `certutil -deleterow` puis importer le nouveau certificat à l’aide de `certutil -importcert`.

#### extfile.txt

```
[Extensions]
2.5.29.15=AwIBpg==
Critical=2.5.29.15
```

## Téléverser le certificat d’AC intermédiaire

1. Dans Azure Key Vault, cliquez sur votre certificat et appuyez sur **Opération de certificat**
2. Vous pouvez maintenant voir les options **Télécharger la CSR** et **Fusionner la demande signée**

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-9b845d790796a34cb0e9296434373a502ddfee92%2Fscreenshot-2020-10-19-at-16.01.18%20\(1\)%20\(2\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(3\).png?alt=media)

1. Cliquez sur **Fusionner la demande signée** et téléversez votre certificat d’AC intermédiaire. Après avoir téléversé la demande signée, vous pouvez voir le certificat valide dans votre Azure Key Vault dans la zone **Terminé**

{% hint style="warning" %}
Le certificat d’AC intermédiaire doit être au format PEM (encodé en Base64). Si vous utilisez le format binaire DER, vous verrez dans les détails un message d’erreur indiquant « Property x5c has invalid value X5C must have at least one valid item ».
{% endhint %}

## Vérifier l’adéquation de l’AC

Sur la page d’état de SCEPman, vous pouvez voir la nouvelle configuration et télécharger le nouveau certificat d’AC intermédiaire afin de le déployer via Endpoint Manager.

Veuillez vérifier si le certificat CA répond à toutes les exigences en visitant votre page d’accueil SCEPman. Vérifiez ce que la page d’accueil indique à côté de « CA Suitability ». Si, par exemple, elle indique *Le certificat CA ne contient pas l’utilisation de clé « Key Encipherment »*, vous devriez revenir à l’étape [Émettre le certificat d’AC intermédiaire](#issue-the-intermediate-ca-certificate) et corriger l’émission du certificat.

## AC intermédiaires et profils SCEP Intune

Sur la plateforme Android, les profils de configuration SCEP dans Intune doivent faire référence à l’AC racine, et non à l’AC intermédiaire. Sinon, le profil de configuration échoue. Pour Windows, c’est l’inverse : les profils de configuration SCEP dans Intune doivent faire référence à l’AC intermédiaire, et non à l’AC racine. Pour iOS et macOS, nous n’avons pas d’information concluante sur la solution la plus appropriée.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scepman.com/fr/deploiement-de-scepman/intermediate-certificate.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
