TLS/SSL-Fehlerbehebung

Wenn TLS/SSL-Probleme auftreten, prüfen Sie, ob es sich um eines der bekannten Probleme handelt, und sehen Sie sich die Lösungsvorschläge hier an.

Wichtig! Lesen Sie in Broadcom Software Academy nach. Es gibt einen Kurs zu diesem Thema. Weitere Informationen finden Sie im Abschnitt Schulung am Ende dieses Themas.

Diese Seite beinhaltet Folgendes:

Aliase stimmen nicht überein

Problem: Der Alias, der die INI-Datei der Automation Engine (ucsrv.ini) konfiguriert hat, stimmt nicht mit dem Alias überein, der beim Erstellen des Schlüssels/Schlüsselspeichers verwendet wurde.

Fehler:

U00045014 Exception 'com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException: "com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException"' at 'com.automic.agents.impl.TlsKeystoreReader.tryToLoadKey():89'.

U00045015 The previous error was caused by 'com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException: "null"' at 'com.automic.agents.impl.TlsKeystoreReader.tryToLoadKey():85'.

Lösung: Stellen Sie sicher, dass dieselben Aliase festgelegt sind, bevor Sie den JCP starten.

Mehr Informationen:

Zertifikat kann nicht für die Serverauthentifizierung verwendet werden

Problem: Das im JCP, in der, AWI oder auf Agentenseite konfigurierte Zertifikat kann nicht für die Serverauthentifizierung verwendet werden.

AWI Fehler:

sun.security.validator.ValidatorException: Die erweiterte Schlüsselverwendung erlaubt die Verwendung für die TLS-Serverauthentifizierung nicht

Lösung: Sie können entweder ein neues Zertifikat anfordern, das für die Serverauthentifizierung verwendet werden kann, oder, falls Sie den erweiterten Schlüssel im Zertifikat verwenden, sicherstellen, dass die Verwendung des erweiterten Schlüssels die TLS-Serverauthentifizierung einschließt.

Zertifikat enthält keine erforderlichen Domänen/Hostnamen

Problem: Das auf der JCP/AWI-Seite konfigurierte Zertifikat umfasst nicht alle erforderlichen Domänen/Hostnamen.

Fehler:

  • AWI

    java.util.concurrent.ExecutionException: java.io.IOException: Failed to connect to myserver:8443
    Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine 
    problem
    …
    Caused by: java.security.cert.CertificateException: No subject 
    alternative DNS name matching myserver found.
    at sun.security.util.HostnameChecker.matchDNS(Unknown Source)
    
  • Java-basierte Agenten undTLS Gateway:

    U02000385 Web socket error: 'No subject alternative DNS name matching 
    myserver found.'.
    javax.net.ssl.SSLHandshakeException: No subject alternative DNS name 
    matching myserver found.
    Caused by java.security.cert.CertificateException: No subject alternative DNS name matching myserver found.
    java.util.concurrent.ExecutionException: 
    javax.net.ssl.SSLHandshakeException: No subject alternative DNS name 
    matching myserver found.
    Caused by javax.net.ssl.SSLHandshakeException: No subject alternative 
    DNS name matching myserver found.
    Caused by java.security.cert.CertificateException: No subject 
    alternative DNS name matching myserver found.
    U02000380 Could not connect to server 'myserver:8443'.
    
  • Windows-Agent:

    U02001073 Certificate verification for Issuer '/C=AT/ST=Vienna/L=Vienna/O=Broadcom/OU=Automic/CN=Automic 
    CA/emailAddress=myemail@broadcom.com', Subject '/C=AT/ST=Vienna/L=Vienna/O=Broadcom/OU=Automic/CN=Automic 
    CA/emailAddress=myemail@broadcom.com' failed.
    U02000406 Connection does not match certificate. Connection provided is: myserver:8443'.
    U02000327 Unexpected error on connection '*SERVER' (socket handle = '680'), reason '"category: 'asio.ssl', (337047686) certificate verify failed"'.
    

Lösung: Stellen Sie sicher, dass das Zertifikat, das auf der JCP-Seite konfiguriert ist, alle Domänen/Hostnamen der Systeme enthält, die AWI von Automic verwendet werden. Dies ist besonders wichtig, wenn mehrere Netzwerkkarten oder JCPs auf unterschiedlichen Computern ausgeführt werden.

Mehr Informationen:

Zertifikat abgelaufen

Problem: Das im konfigurierten Keystore enthaltene Zertifikat ist abgelaufen.

Fehler:

U00045393 SSL Certificate invalid: The validity period of the certificate has expired or not yet reached.

Lösung: Verlängern Sie das Zertifikat, bevor Sie das JCP starten.

Mehr Informationen:

Zertifikate nicht gefunden oder nicht übereinstimmen

Problem: Das Zertifikat, das die jeweilige Komponente (AWI, TLS/SSL Agent, TLS Gateway) verwendet, um die TLS/SSL-Verbindung mit Automation Engine herzustellen, kann nicht gefunden werden, oder es stimmt nicht mit dem auf dem Server konfigurierten Zertifikat überein.

Fehler:

  • AWI

    [com.uc4.ecc.backends.impl.dataservice.connection.ConnectionService] - 
    				Connection to Automation Engine failed at 'myserver:8443'. 
    				java.util.concurrent.ExecutionException: java.io.IOException: Failed to 
    				connect to myserver:8443 
    				… 
    Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine 
    Problem
    …
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: 
    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    
  • Java-basierte Agenten und TLS Gateway:

    U02000385 Web socket error: 'PKIX path building failed: 
    sun.security.provider.certpath.SunCertPathBuilderException: unable to 
    find valid certification path to requested target'. 
    javax.net.ssl.SSLHandshakeException: PKIX path building failed: 
    sun.security.provider.certpath.SunCertPathBuilderException: unable to 
    find valid certification path to requested target 
    Caused by javax.net.ssl.SSLHandshakeException: PKIX path building 
    failed: sun.security.provider.certpath.SunCertPathBuilderException: 
    unable to find valid certification path to requested target 
    U02000380 Could not connect to server 'myserver:8443'. 
    Connecting to system 'UC4' is not possible. 
    com.uc4.ex.cp.InitialConnectionException: Initial connection with 
    endpoint not possible. Überprüfen Sie Ihre Konfiguration.
    				
  • Windows-Agent:

    U02001073 Certificate verification for Issuer 
    '/C=AT/ST=Vienna/L=Vienna/O=Broadcom/OU=Automic/CN=Automic 
    CA/emailAddress=myemail@broadcom.com', Subject 
    '/C=AT/ST=Vienna/L=Vienna/O=Broadcom/OU=Automic/CN=Automic 
    CA/emailAddress=myemail@broadcom.com' failed.
    U02000327 Unexpected error on connection '*SERVER' (socket handle = 
    '788'), reason '"category: 'asio.ssl', (337047686) certificate verify 
    failed"'.
    20210706/152850.714 - U02000343 Server connection has been closed.
    20210706/152851.730 - U02000302 Agent shutdown has been initiated with 
    return code '68'.
    
  • UNIX-Agent:

    U02000313 Communication error with partner '*SERVER', error:
    'TLS-handshake/337047686(certificate verify failed)'.
    U02000010 Connection to Server 'UC4/198.51.100.2:8443' terminated.
    

Lösung: Öffnen Sie das für die jeweilige Komponente konfigurierte Zertifikat und prüfen Sie, ob es dem Zertifikat im JCP-Keystore entspricht (Aussteller, Betreff, Gültigkeitsdauer und so weiter).

Wenn Sie UNIX-Agents und -Zertifikate verwenden, die von einer Zertifizierungsstelle (CA) signiert sind, stellen Sie sicher, dass der Ordner, der vom Agent für den Zugriff auf die vertrauenswürdigen Zertifikate verwendet wird, vorhanden ist und die erforderlichen Root-Zertifikate enthält. Wenn der Pfad nicht zu den Standardwerten gehört, kann er über die Parameter SSLCertDir= oder SSLCertFile= INI konfiguriert werden.

Mehr Informationen:

Ungültige Portdefinition

Problem: Eine Komponente ( TLS/SSL-Agent, ) versucht, eine Verbindung zu AWIPort 2217 herzustellen, was nicht der Port ist, an dem TLS GatewayJCP erreichbar ist. Der Standard-Port, der für das JCP in der INI-Datei der Automation Engine definiert ist, ist 8443.

Fehler:

  • AWI:

    java.util.concurrent.ExecutionException: java.io.IOException: Failed to 
    connect to myserver:2217
    …
    Caused by: javax.net.ssl.SSLHandshakeException: Unrecognized SSL 
    message, plaintext connection?
    
  • Java-basierte Agenten und TLS Gateway:

    U02000385 Web socket error: 'Unrecognized SSL message, plaintext connection?'. 
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    java.util.concurrent.ExecutionException: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    Caused by javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    U02000380 Could not connect to server 'myserver:2217'.
    
  • Windows-Agent:

    U02000379 Initiating connection to server 'myserver:2217' using WebSocket URI: 'wss://198.51.100.2:2217//agent'.
    U02000072 Connection to system 'UC4' initiated.
    U02000327 Unexpected error on connection '*SERVER' (socket handle = '752'), reason '"category: 'asio.ssl', 
    (336130315) wrong version number"'.
    U02000343 Server connection has been closed.
    U02000302 Agent shutdown has been initiated with return code '68'.
    
  • UNIX Agent:

    U02000313 Communication error with partner '*SERVER', error: 
    'TLS-handshake/336130315(wrong version number)'.
    U02000010 Connection to Server 'UC4/10.49.164.113:2217' terminated.
    

Lösung: Stellen Sie sicher, dass die relevante Datei (Agent- oder INI-Datei oder TLS Gateway AWI uc4config.xml-Datei) richtig konfiguriert ist:

  • Der in der Konfigurationsdatei verwendete Hostname muss mit dem Namen im Zertifikat übereinstimmen.

  • Stellen Sie sicher, dass Sie den JCP-Standard-Port 8443 verwenden, und dass er nicht überschrieben wurde. Aktivieren Sie den Parameter WS.PORT in der INI-Datei von Automation Engine.

  • Stellen Sie sicher, dass JCP ausgeführt wird.

  • Möglicherweise müssen Sie dem Hostnamen/der IP in der Konfigurationsdatei eine vollständig qualifizierte Domäne hinzufügen (beispielsweise vviecapam01.sbb01.spoc.global).

Mehr Informationen:

Ungültiges Schlüsselspeicherformat

Problem: Der Standardalgorithmus zum Verschlüsseln eines Zertifikats wurde geändert.

Fehler:

U00045014 Exception 'java.io.IOException: "Invalid keystore format"' at 'sun.security.provider.JavaKeyStore.engineLoad():666'.

Lösung: Stellen Sie sicher, dass Sie eine Java-Laufzeitumgebung verwenden, wie in der Kompatibilitätsmatrix angegeben. Weitere Informationen finden Sie unter compatibility matrix.

Siehe auch:

Kompatibilitätsinformationen

Schlüsselkennwörter nicht übereinstimmen

Problem: Das Schlüsselkennwort, das die INI-Datei von Automation Engine (ucsrv.ini) konfiguriert hat, ist nicht mit dem Schlüsselkennwort überein, das beim Erstellen des privaten Schlüssels verwendet wurde.

Fehler:

U00045014 Exception 'com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException: "java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption."' at 'com.automic.agents.impl.TlsKeystoreReader.tryToLoadKey():89'.

U00045015 The previous error was caused by 'java.security.UnrecoverableKeyException: "Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption."' at 'sun.security.pkcs12.PKCS12KeyStore.engineGetKey():462'.

U00045015 The previous error was caused by 'javax.crypto.BadPaddingException: "Given final block not properly padded. Such issues can arise if a bad key is used during decryption."' at 'com.sun.crypto.provider.CipherCore.unpad():975'.

Lösung: Stellen Sie sicher, dass die gleichen Kennwörter festgelegt sind, bevor Sie JCP starten.

Mehr Informationen:

Schlüsselspeicherdatei existiert nicht

Problem: Die in der INI-Datei von Automation Engine (ucsrv.ini) konfigurierte Keystore-Datei ist nicht vorhanden.

Fehler:

U00045014 Exception 'com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException: "java.io.FileNotFoundException: .\httpsKeyfile (The system cannot find the file specified)"' at 'com.automic.agents.impl.TlsKeystoreReader.tryToLoadKey():89'.

U00045015 The previous error was caused by 'java.io.FileNotFoundException: ".\httpsKeyfile (The system cannot find the file specified)"' at 'java.io.FileInputStream.open0()'.

Lösung: Legen Sie den richtigen Speicherort des PKCS#12-Schlüsselspeichers fest, der vom JCP beim Starten verwendet werden soll.

Mehr Informationen:

Schlüsselspeicherkennwörter übereinstimmen nicht

Problem: Das Schlüsselspeicherkennwort, das die INI-Datei von (ucsrv.ini) konfiguriert hat, ist nicht mit dem Kennwort überein, das beim Erstellen des Automation Engine Schlüsselspeichers verwendet wurde.

Fehler:

U00045014 Exception 'com.automic.agents.impl.TlsKeystoreReader$InvalidKeystoreException: "java.io.IOException: keystore password was incorrect"' at 'com.automic.agents.impl.TlsKeystoreReader.tryToLoadKey():89'.

U00045015 The previous error was caused by 'java.io.IOException: "keystore password was incorrect"' at 'sun.security.pkcs12.PKCS12KeyStore.engineLoad():2108'.

U00045015 The previous error was caused by 'java.security.UnrecoverableKeyException: "failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption."' at 'sun.security.pkcs12.PKCS12KeyStore.engineLoad():2108'.

Lösung: Stellen Sie sicher, dass die gleichen Kennwörter festgelegt sind, bevor Sie JCP starten.

Mehr Informationen:

JCP kann nicht erreicht werden

Problem: Eine der KomponentenAWI(, TLS/SSL Agent, TLS Gateway) kann JCP nicht erreichen.

Fehler:

  • AWI:

    java.util.concurrent.ExecutionException: java.io.IOException: Failed to 
    connect to myserver:8443 
    … 
    Caused by: java.io.IOException: Failed to connect to myserver:8443
    at 
    com.uc4.communication.WebSocketConnection.<init>(WebSocketConnection.ja
    va:234)
    at com.uc4.communication.Connection.<init>(Connection.java:52)
    at com.uc4.communication.Connection.open(Connection.java:160)
    at 
    com.uc4.ecc.backends.connection.ProductionConnectionFactory$2.call(ProductionConnectionFactory.java:77)
    Caused by: java.net.ConnectException: Connection refused: no further 
    Information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    
  • Java-basierte Agenten und TLS Gateway:

    U02000379 Initiating connection to server myserver:8443' using 
    WebSocket URI: 'wss://myserver:8443/agent'.
    U02000385 Web socket error: 'Connection refused: no further 
    information'.
    java.net.ConnectException: Connection refused: no further information
    U02000380 Could not connect to server myserver:8443'.
    
  • Windows-Agent:

    U02000379 Initiating connection to server myserver:8443' using 
    WebSocket URI: 'wss://198.51.100.2:8443//agent'.
    U02000313 Communication error with partner 
    'https://myserver:8443//agent', error: 'No connection could be made 
    because the target machine actively refused it'.
    U02000343 Server connection has been closed.
    
  • UNIX-Agent:

    U02000379 Initiating connection to server 'UC4' using WebSocket URI: myserver:8443/agent'. 
    U02000313 Communication error with partner '*SERVER', error: 'on_connection/111(Connection refused)'.
    U02000010 Connection to Server 'UC4/unknown' terminated.
    

Lösung: Prüfen Sie, ob das JCP aktiv ist und die WebSocket-Verbindung funktioniert.

Dies kann auch über den Browser erfolgen. Öffnen Sie eine neue Registerkarte und geben Sie den Endpunkt ein, z. B. https://myserver:8443.

  • Wenn der Endpunkt erreichbar ist, erhalten Sie einen Zertifikatfehler, aber Sie können das Zertifikat anzeigen.

    Prüfen Sie, ob der Hostname dem Hostnamen in der Datei config.xml entspricht.

  • Wenn der Endpunkt nicht erreichbar ist, zeigt der Browser einen Fehler an, etwa Site nicht erreichbar.

    Überprüfen Sie das JCP-Protokoll und stellen Sie sicher, dass Jetty den Endpunkt gestartet hat, und auf welchem Port.

Mehr Informationen: