Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Warning
Bevor Sie hier beginnen, stellen Sie sicher, dass Sie die Verwendung von Zertifikatanmeldeinformationen mit MSAL Node verstehen.
Die SNI-Authentifizierung (Antragstellername/Aussteller) ermöglicht es einer App, sich mithilfe eines öffentlichen Zertifikats von einer vordefinierten vertrauenswürdigen Zertifizierungsstelle zu authentifizieren, um komplexe Zertifikatrolloverszenarien zu unterstützen. Er verwendet den X5C-Headerparameter , um das Zertifikat für den Server bereitzustellen.
Benutzer von Erstanbietern sollten die Anweisungen auf dem internen Microsoft Entra Wiki befolgen, um ihre Microsoft Entra Umgebung einzurichten, um SNI zu unterstützen.
x5c Anspruch
Sie müssen die Zeichenfolge aus Ihrem pem-kodierten Zertifikat im Feld clientCertificate.x5c des MSAL-Konfigurationsobjekts angeben, zusätzlich zu clientCertificate.thumbprintSha256 und clientCertificate.privateKey:
Beispielzeichenfolge x5c aus einer .pem Datei:
-----BEGIN CERTIFICATE-----
<cert1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<cert2>
-----END CERTIFICATE-----
// ...
Siehe auch: Zertifikate: Konvertieren von pfx in pem
App-Konfiguration
Sicheres Verwenden von geheimen Schlüsseln und Zertifikaten
Geheime Schlüssel sollten niemals hartcodiert werden. Das dotenv npm-Paket kann verwendet werden, um geheime Schlüssel oder Zertifikate in einer env-Datei (im Stammverzeichnis des Projekts) zu speichern, die in gitignore enthalten sein sollte, um versehentliche Uploads der geheimen Schlüssel zu verhindern.
Zertifikate können auch über das fs-Modul von NodeJS aus Dateien eingelesen werden. Sie sollten jedoch niemals im Verzeichnis des Projekts gespeichert werden. Produktions-Apps sollten Zertifikate von Azure KeyVault oder anderen sicheren Schlüsseltresorn abrufen.
Weitere Informationen finden Sie unter Zertifikaten und geheimen Schlüsseln .
Siehe MSAL-Beispiel: Authentifizierungscode mit Zertifikaten
Der folgende Codeausschnitt zeigt, wie MSAL für die Authentifizierung mit Subjektname/Aussteller (SNI) initialisiert wird:
var msal = require('@azure/msal-node');
require('dotenv').config(); // process.env now has the values defined in a .env file
const config = {
auth: {
clientId: "ENTER_CLIENT_ID",
authority: "https://login.microsoftonline.com/ENTER_TENANT_ID",
clientCertificate: {
thumbprintSha256: process.env.thumbprint, // a 64-digit hexadecimal string
privateKey: process.env.privateKey,
x5c: process.env.x5c
}
}
}
};
// Create msal application object
const cca = new msal.ConfidentialClientApplication(config);
Häufige Probleme
Bitte lesen Sie Häufige Probleme beim Importieren von Zertifikaten.