Skip to content

Troubleshooting

HTTP Error 500.30

Es wird der Fehler "HTTP Error 500.30 - ANCM In-Process Start Failure" im Browser angezeigt.

Das Log des Hosting-Prozesses aktivieren um weitere Fehlerdetails zu erhalten.

Desktop Client: Die STS Seite wird nicht angezeigt

Der Desktop Client öffnet ein Fenster um dort die CMI STS Anmeldemaske anzuzeigen. Jedoch funktioniert der CMI STS nicht wie erwartet, obwohl sichergestellt wurde, dass die korrekte URL verwendet wird, das Login via Diagnostics-Seite möglich ist und das CMI STS Log nicht auf ein konkretes Problem hindeutet.

Der Desktop Client verwendet die Komponente WebBrowser Control um die Anmelde-Webseite des CMI STS in einem Fenster anzuzeigen.

Das WebBrowser Control verwendet die Internet Explorer 11 (IE11) Engine dazu. Das heisst, IE11-Policies die durch einen IT-Betreiber festgelegt werden, betreffen auch den Desktop Client. Das kann dazu führen, dass die Kommunikation mit dem CMI STS nicht oder nur teilweise möglich ist.

Folgende Schritte können helfen, das Problem zu lösen:

  • Handelt es sich um ein Server-Betriebssystem, sollte im Server Manager die Enhanced Security Configuration (ESC) deaktiviert werden
  • Der CMI STS und alle Identity Provider sollten der Zone "Trusted sites" hinzugefügt werden
  • Sollte der Identity Provider nicht gut mit dem IE11 funktionieren, kann folgender Registry-Key gesetzt werden: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "CMI.Client.Main.exe"=dword:00002af9

Die oben genannten Schritte können helfen das Problem zu beheben, jedoch ist das nicht immer der Fall.

Da die Unterstützung der alten Browser-Technologie immer schwieriger wird, musst das WebBrowser Control langfristig ersetzt werden. Dazu gibt es folgende CMI-interne Tickets: * ST3-93 * CMI-17110

IE Content Block: Beim Login im STS wird folgende Fehlermeldung anzgezeigt

Troubleshooting

Die Internet Explorer "enhanced security" ist eingeschaltet und blockiert den Zugriff.

Lösung

Im Server Manager die IE "enhanced security" ausschalten. Server Manager starten -> Localer Server -> IE enhanced security > Off setzten.

Troubleshooting

Windows Cryptographic Exception: The system cannot find the file specified

Das Log zeigt den Fehler:

Host terminated unexpectedly Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The system cannot find the file specified.

Der CMI STS hat keinen Zugriff auf seine Dateien. Der Application Pool wurde vermutlich nicht vollständig konfiguriert.

  1. Den IIS Manager öffnen
  2. Den Application Pool auswählen, der vom CMI STS verwendet wird
  3. Erweitere Einstellungen öffnen
  4. Unter "Prozessmodell" die Option "Load User Profile" auf true stellen
  5. In den Berechtigungen des STS Verzeichnisses (Binaries und Log) prüfen, ob der Nutzer "IIS AppPool\" zugreifen darf.

Windows Cryptographic Exception: The specified network password is not correct

Hinweis: Die hier dokumentierte Lösung bezieht sich auf den CMI STS in Version 3.0 bis 3.4. Tritt das Problem ab Version >=3.5 auf, sollte auf das automatische Schlüsselmanagement gewechselt werden.

Das Log zeigt den Fehler: Host terminated unexpectedly Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The specified network password is not correct.

Der CMI STS kann das Signing-Zertifikat, welches in einer PFX-Datei vorliegt, nicht mit gegeben Passwort öffnen. Möglicherweise wurde das Signing-Zertifikat mit einem anderen Passwort erstellt. Das Kapitel Token-Signierung beschreibt die Konfigurationsparameter.

Wenn das Passwort nicht mehr bekannt ist, kann das Signing-Zertifikat gelöscht werden. Der CMI STS legt beim nächsten Start automatisch ein neues PFX-Zertifikat an. Alle bereits ausgestellten Access-Token werden dadurch invalidiert.

Achtung: PEM- und KEY-Dateien werden nicht automatisch erzeugt.

Unauthorized client

Der Benutzer erhält den Fehler "unauthorized_client".

In der Konfiguration wurde der Client, den der Benutzer verwendet, nicht (für den Mandanten) hinterlegt. Siehe Clients bezüglich der verwendeten Client-ID die von verschiedenen CMI Komponenten verwendet werden.

IDX10205: Issuer validation failed.

Das Log zeigt den Fehler:

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidIssuerException: IDX10205: Issuer validation failed. Issuer: '[PII is hidden]'.

Zum Debuggen kann die PII über denn Schalter «"MsIdentityModelShowPII": true» angezeigt werden. Der Fehler kann bei einer Multitenant Azure AD vorkommen. Siehe dazu: Identity Provider

A downstream api returned an error

A downstream api returned an error zeigt an, dass der CMI STS versucht hat, mit dem CMI Server zu kommunizieren. Das war jedoch nicht erfolgreich. Entweder kann der CMI Server nicht erreicht werden oder der CMI Server hat eine Fehlerantwort gegeben. Die CMI STS und CMI Server Logs können möglicherweise helfen, das Problem zu identifizieren.

CMI Server log zeigt den Fehler Could not fetch discovery data from CMI STS an.

Folgende Schritte auf dem Windows Server ausführen, der den CMI Server betreibt:

  1. Prüfen im Browser ob die Url aufgerufen "https://sts3.prod.cmicloud.ch//identity/.well-known/openid-configuration" kann.
  2. Prüfen mit Powershell ob die Url mit dem Befehl Invoke-Webrequest unten einen 200 OK Status request zurückgibt. Wichtig ist, dass die Powershell mit dem CMI Server Service-Benutzer ausgeführt wird. Der CMI Service Service-Benutzer ist der Windows-Benutzer, welcher auf dem CMI Server unter Services hinterlegt ist (siehe Printscreen unten).
# <MandatenID> ersetzen
Invoke-Webrequest -Uri "https://sts3.prod.cmicloud.ch/<MandatenID>/identity/.well-known/openid-configuration"

Troubleshooting

Ursache Der CMI Server versucht das OIDC-Discovery-Dokument abzurufen. Der Windows Server hat keinen freigen Zugang zum Internet. Die URL ist möglicherweise nicht freigeschaltet und über die Group Policy blockiert.

Lösung Group Policy anpassen und die Webseite "https://sts3.prod.cmicloud.ch" zu den Trusted Sites hinzugefügt werden. 1. Group Policy Mangement Editor öffnen 2. Navigieren zu -> User Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page

Troubleshooting

Wird im Powershell Could not create SSL/TLS secure channel ausgegeben

Troubleshooting

Ursache

Ältere Windows Server verwenden die TLS Version 1.0, welche je nach CMI STS Setup, nicht akzeptiert wird.

Lösung

Testweise im Powershell die Standart TLS auf die Version 1.2 setzten mit folgendem Powershell Befehl.

# Setze die Default TLS 1.2 Version im Powershell
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

# <MandatenID> ersetzen
Invoke-Webrequest -Uri "https://sts3.prod.cmicloud.ch/<MandatenID>/identity/.well-known/openid-configuration"

Wenn der Test mit obigem Powershell Befehl erfolgreich gewesen ist, muss auf dem Server folgender Regedit Key ergänzt werden, um TLS 1.2 Version als System Default zu setzen. Eine neue Datei anlegen und den Inhalt unten einfügen und mit der Endung .reg speichern und den Regedit Key importieren.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"AspNetEnforceViewStateMac"=dword:00000001
"SystemDefaultTlsVersion"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

Error unprotecting key / IDX10516: Signature validation failed

Die nachfolgende Lösung hilft, wenn einer der beiden Fehler aus dem Titel ersichtlich ist, der STS im IIS gehosted wird und der nachfolgende Ablauf das Problem zuverlässig auslöst: - Recycle vom STS - Neustart vom CMI-Service - Anmeldung am STS ist möglich - Recycle vom STS - Anmeldung am STS ist nicht mehr möglich

Ursache Für die Verschlüsselung des Schlüsselmaterials wird die .NET Data Protection eingesetzt, die wiederum ihre Schlüssel ablegt. IIS ist nicht imstande auf die abgelegten Schlüssel zuzugreifen.

Lösung Der Schlüssel wird im Ordner "%LOCALAPPDATA%\ASP.NET\DataProtection-Keys" abgelegt, aber nur wenn im IIS die Option "setProfileEnvironment" den Wert "true" hat. Siehe auch hier.

Error IDX10222: Lifetime validation failed

Microsoft.IdentityModel.Tokens.SecurityTokenNotYetValidException: IDX10222: Lifetime validation failed. The token is not yet valid. ValidFrom: 'System.DateTime', Current time: 'System.DateTime'.

Ursache - JWT Token haben zwei Attribute: - exp (key expiration time): Datum, an dem das Token nicht mehr gültig ist - nbf (key use not-before time): Datum, ab dem das Token gültig wird - Die Fehlermeldung deutet darauf hin, dass das aktuelle Datum welches das validierende System verwendet, sich nicht im Zeitrahmen dieser beiden Attribute befindet - Die beteiltigten Systeme verwenden möglicherweise nicht die selbe Uhrzeit - Die Werte der Attribute können beispielweise mit https://jwt.io überprüft werden

Troubleshooting

Lösung Die Zeit Einstellungen auf den Systemen des STS, des CMI Servers und des User Clients überprüfen, dass diese synchron laufen. Ist die Einstellung der Zeit zu abweichend voneinander, so verfällt die Lebensdauer des Tokens bevor dieser validiert werden kann. Ebenfalls sollte die Synchronisation der Zeit auf den betroffenen Systemen überprüft werden, damit zukünftig keine Abweichungen mehr entstehen.