> 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/de/scepman-bereitstellung/intermediate-certificate.md).

# Zwischen-CA

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

Wenn Sie eine andere Root-CA als primäre Stelle verwenden möchten, können Sie ein Zertifikat einer Intermediate CA erstellen, um SCEPman als untergeordnete Zertifizierungsstelle zu betreiben. Sie können das richtige Zertifikat direkt in Azure Key Vault erstellen und die CSR zum Signieren mit Ihrer Root-CA herunterladen. Die signierte Anfrage kann hochgeladen und in Azure Key Vault zusammengeführt werden. Dieser Artikel führt Sie im Detail durch die erforderlichen Schritte.

## Key Vault-Berechtigungen

Sie müssen Ihrem Benutzerkonto Zugriff auf Azure Key Vault gewähren, um die CSR zu erstellen und das Intermediate-CA-Zertifikat zusammenzuführen. Die Art der Zuweisung der Berechtigungen hängt von der Zugriffskonfiguration Ihres Key Vault ab:

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

1. Navigieren Sie zu Ihrem Azure Key Vault im Azure Portal
2. Klicken Sie auf **Zugriffssteuerung (IAM)** im linken Navigationsbereich.
3. Klicken Sie auf **Rollenzuweisungen** und fügen Sie eine neue Rollenzuweisung hinzu

<figure><img src="https://2075553437-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>Fügen Sie Ihrem Key Vault eine neue Rollenzuweisung hinzu</p></figcaption></figure>

4. Wählen Sie die **Key Vault Certificate Officer** Rolle aus und klicken Sie auf **Als Nächstes**

<figure><img src="https://2075553437-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. Suchen Sie nun Ihr AAD-Administratorkonto in der **Mitglieder** Sektion hinzu und fahren Sie mit der Rollenzuweisung fort

Nachdem die Rollenzuweisung hinzugefügt wurde, ist Ihr Azure AD-Konto berechtigt, eine CSR zu erstellen und das Zertifikat hochzuladen.
{% endtab %}

{% tab title="Key Vault-Zugriffsrichtlinien" %}

1. Navigieren Sie zu Ihrem Azure Key Vault im Azure Portal
2. Klicken Sie auf **Zugriffsrichtlinien** im linken Navigationsbereich.
3. Klicken Sie auf **Erstellen** und wählen Sie die **Zertifikatsverwaltung** Vorlage und dann Weiter

<figure><img src="https://2075553437-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://2075553437-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. Suchen Sie nun Ihr AAD-Administratorkonto in der **Prinzipal** Sektion und dann Weiter, Weiter und Erstellen

<figure><img src="https://2075553437-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>

Nachdem die Berechtigungen hinzugefügt wurden, ist Ihr Azure AD-Konto berechtigt, eine CSR zu erstellen und das Zertifikat hochzuladen.
{% endtab %}
{% endtabs %}

## Key Vault-Netzwerk für das Administrationssystem öffnen

Wenn Sie ein [Private Endpoint](/de/azure-konfiguration/private-endpoints.md) Für Key Vault müssen Sie eine Ausnahme hinzufügen, die es dem Client ermöglicht, auf Netzwerkebene auf Key Vault zuzugreifen. Wenn Sie keinen Private Endpoint verwenden, können Sie diesen Teil überspringen.

* Navigieren Sie im Azure Portal zu Azure Key Vault.
* Navigieren Sie unter Einstellungen zum Bereich Netzwerk.
* Wechseln Sie zu „Öffentlichen Zugriff von bestimmten virtuellen Netzwerken und IP-Adressen zulassen“, wenn Sie derzeit „Öffentlichen Zugriff deaktivieren“ ausgewählt haben.
* Fügen Sie die IP-Adresse des Clients hinzu, auf dem Sie [das SCEPman PowerShell-Modul später ausführen möchten](#creating-intermediate-ca-certificate-with-the-scepman-powershell-module). Wenn Sie die Azure Cloud Shell verwenden und [sie mit einem VNET verbunden ist](https://learn.microsoft.com/en-us/azure/cloud-shell/vnet/overview), können Sie dieses VNET hinzufügen. Andernfalls ist es am einfachsten, vorübergehend die öffentliche IP-Adresse der Cloud Shell zuzulassen, da starke Authentifizierung Ihr Key Vault schützt. Sie können einen Befehl wie `(Invoke-WebRequest -UseBasicParsing -uri "http://ifconfig.me/ip").Content` verwenden, um die öffentliche IP-Adresse der Sitzung zu ermitteln.

## Azure App Service-Einstellungen aktualisieren

Der nächste Schritt besteht darin, die Azure App Service-Konfiguration so zu aktualisieren, dass sie mit dem Subject Name der Intermediate CA übereinstimmt, die Sie im nächsten Schritt erstellen werden.

1. Navigieren Sie zu Ihrem Azure App Service
2. Klicken Sie auf **Umgebungsvariablen** im linken Navigationsbereich
3. In **Anwendungseinstellungen,** müssen Sie die folgenden Einstellungen bearbeiten:
   1. `AppConfig:KeyVaultConfig:RootCertificateConfig:CertificateName`\
      Ändern Sie dies in einen gewünschten Common Name (CN) für Ihre Intermediate CA.
   2. `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject`\
      Ändern Sie nur den CN-Wert des Subject Names, damit er mit dem oben verwendeten Common Name übereinstimmt.
4. Klicken Sie auf **Übernehmen und bestätigen.**
5. Starten Sie den Azure **App Service** neu, um die Änderungen anzuwenden, und navigieren Sie dann zu Ihrer SCEPman-URL.

{% hint style="warning" %}
Bitte beachten Sie, dass die Variable CertificateName direkt dem Zertifikatsobjekt entspricht, das in Azure Key Vault erstellt wird. Sie können daher nur Zertifikatsnamen verwenden, die alphanumerische Zeichen und Bindestriche enthalten
{% endhint %}

<figure><img src="https://2075553437-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>

## Erstellen eines Intermediate-CA-Zertifikats mit dem SCEPman PowerShell-Modul

{% hint style="warning" %}
Damit dieses Modul ordnungsgemäß funktioniert, benötigen Sie eine Arbeitsstation mit [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (auch bekannt als `az`) installiert. Die Azure CLI ist vorinstalliert in der [Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), der empfohlenen Umgebung für die Ausführung dieses Moduls.
{% endhint %}

Sie können das SCEPman PowerShell-Modul ab Version 1.9 verwenden, um eine CSR für ein Intermediate-CA-Zertifikat zu erstellen. Sie können die neueste Version des Moduls aus der PowerShell Gallery mit dem folgenden Befehl installieren:

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

Dann können Sie dem Modul den Namen Ihrer Organisation mitteilen, der im Zertifikat erscheinen soll:

```powershell
Reset-IntermediateCaPolicy -Organization "My Organization"
```

Konfigurieren Sie das Subject Ihrer Intermediate CA so, dass es mit dem oben verwendeten übereinstimmt in `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject` (optional können Sie einige zusätzliche Einstellungen ändern, um den CSR-Inhalt zu steuern):

{% code lineNumbers="true" %}

```
$policy = Get-IntermediateCaPolicy
$policy.policy.x509_props.subject = "CN=YOUR_CN_FROM_ABOVE,OU=YOUR_TENANT_ID,O=YOUR_ORGANIZATION"
# ändern Sie einige zusätzliche Einstellungen von $policy
Set-IntermediateCaPolicy -Policy $policy
```

{% endcode %}

Schließlich können Sie die CSR mit dem folgenden Befehl erstellen (oder einem ähnlichen, je nach Ihrer Umgebung):

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

Der Befehl gibt die CSR aus, die Sie Ihrer Root-CA zum Signieren übermitteln.

## Intermediate-CA-Zertifikat ausstellen

Senden Sie nun Ihre CSR an Ihre Root-CA und holen Sie Ihr ausgestelltes Intermediate-CA-Zertifikat ab. Speichern Sie das Zertifikat auf dem Datenträger (.cer), damit Sie es im nächsten Schritt hochladen und mit dem privaten Schlüssel in Azure Key Vault zusammenführen können.

### Besondere Schritte für eine ADCS Enterprise Root CA

Wenn Sie Active Directory Certificate Services als AD-integrierte Root-CA verwenden und daher eine Certificate Template auswählen müssen, muss diese die folgenden Key Usages enthalten: „CRLSign“, „DigitalSignature“, „KeyEncipherment“ und „KeyCertSign“. KeyEncipherment fehlt in der Standardvorlage „Subordinate Certificate Authority“ und kann außerdem in neuen Vorlagen nicht ausgewählt werden. Bitte sehen Sie unten nach einer Lösung, falls dieses Problem auftritt. **Dies gilt nicht für eigenständige Root-CAs**, auch bekannt als Offline-Root-CAs, da sie die Key Usages korrekt aus der CSR übernehmen.

#### Übersicht

Sie können die SubCA-Vorlage duplizieren oder sie nach Bedarf verwenden. Dann stellen Sie einfach ein Zertifikat mit der auf der CSR basierenden Vorlage aus. Dieses Zertifikat wird *die falsche Key Usage* (0x86). Anschließend signieren Sie das Zertifikat mit einer angepassten Key-Usage-Erweiterung erneut mit `certutil -sign`.

#### Schritt für Schritt

1. Fordern Sie ein SubCA-Zertifikat an und stellen Sie es aus.
2. Exportieren Sie das neue SubCA-Zertifikat auf der Root-CA in eine Datei (z. B. c:\temp\SubCA.cer). Wählen Sie **Base-64-kodiertes X.509** Format.
3. Erstellen Sie auf der Root-CA eine Datei „extfile.txt“ mit dem unten gezeigten Inhalt (z. B. c:\temp\extfile.txt).
4. Öffnen Sie die Eingabeaufforderung und führen Sie aus: `certutil -sign "c:\temp\SubCA.cer" "c:\temp\SubCAwithKeyEncipher.cer" @c:\temp\extfile.txt`
5. Das Zertifikat SubCAwithKeyEncipher.cer enthält nun die angeforderte Key Usage (0xA6). Der Fingerabdruck (die Signatur) hat sich geändert, aber die Seriennummer nicht.
6. Die Liste der ausgestellten Zertifikate in ADCS enthält das alte Zertifikat. Da sich die Seriennummer nicht geändert hat, können Sie das neue Zertifikat anhand des alten Handles verwalten; das Widerrufen des alten Zertifikats widerruft beispielsweise auch das neue Zertifikat. Wenn Ihnen das nicht gefällt, können Sie den alten Zertifikatseintrag mit `certutil -deleterow` und importieren Sie dann das neue Zertifikat mit `certutil -importcert`.

#### extfile.txt

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

## Intermediate-CA-Zertifikat hochladen

1. Klicken Sie in Azure Key Vault auf Ihr Zertifikat und drücken Sie **Zertifikatsvorgang**
2. Nun sehen Sie die Optionen **CSR herunterladen** und **Signierte Anfrage zusammenführen**

![](https://2075553437-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. Klicken Sie auf **Signierte Anfrage zusammenführen** und laden Sie Ihr Intermediate-CA-Zertifikat hoch. Nachdem Sie die signierte Anfrage hochgeladen haben, sehen Sie das gültige Zertifikat in Ihrem Azure Key Vault im Bereich **Abgeschlossen**

{% hint style="warning" %}
Das Intermediate-CA-Zertifikat muss im PEM-Format (Base64-kodiert) vorliegen. Wenn Sie das binäre DER-Format verwenden, sehen Sie in den Details eine Fehlermeldung mit dem Text „Property x5c has invalid value X5C must have at least one valid item“.
{% endhint %}

## CA-Eignung überprüfen

Auf der SCEPman-Statusseite sehen Sie die neue Konfiguration und können das neue Intermediate-CA-Zertifikat herunterladen, um es über Endpoint Manager bereitzustellen.

Bitte prüfen Sie auf Ihrer SCEPman-Homepage, ob das CA-Zertifikat alle Anforderungen erfüllt. Sehen Sie nach, was auf der Homepage neben „CA Suitability“ steht. Wenn dort beispielsweise steht *Dem CA-Zertifikat fehlt die Key Usage „Key Encipherment“*, sollten Sie zu Schritt [Intermediate-CA-Zertifikat ausstellen](#issue-the-intermediate-ca-certificate) zurückgehen und die Zertifikatausstellung korrigieren.

## Intermediate CAs und Intune-SCEP-Profile

Auf der Android-Plattform müssen die SCEP-Konfigurationsprofile in Intune auf die Root-CA verweisen, nicht auf die Intermediate CA. Andernfalls schlägt das Konfigurationsprofil fehl. Für Windows ist es umgekehrt: Die SCEP-Konfigurationsprofile in Intune müssen auf die Intermediate CA verweisen, nicht auf die Root-CA. Für iOS und macOS haben wir keine eindeutigen Informationen, ob die eine oder die andere Vorgehensweise besser ist.


---

# 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.scepman.com/de/scepman-bereitstellung/intermediate-certificate.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.
