Artikel mit Tag ungültig

Lösung Java 8 Fehler - Certificate has been revoked - Zertifikat wurde entzogen

Im April läuft die Unterstützung für Java 7 aus, somit wird es langsam aber sicher Zeit auf Java 8 umzusteigen. Die neue Version 8 bringt bessere Sicherheitsmechanismen mit, welche bei Anwendungen, die auf HTTPS und somit auf Zertifikate setzen zu Fehlern führen können. Einer davon ist die Zurückweisung des Zertifikats:

 java.security.cert.CertificateRevokedException: Certificate has been revoked, reason: SUPERSEDED, revocation date: XXXXX CET 2014, authority: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE, extension OIDs: [2.5.XX.21]

at com.sun.deploy.security.RevocationChecker.checkApprovedCRLs(Unknown Source)

at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)

at com.sun.deploy.security.RevocationChecker.check(Unknown Source)

at com.sun.deploy.security.TrustDecider.checkRevocationStatus(Unknown Source)

at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)

at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)

at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)

at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)

........

Java8-AnwendungzurSicherheitblockiert

Erklärung 

CRL 

Dabei handelt es sich um eine Zertifikatsperrliste (Certificate Revoke List -->CRL), diese wird von einer Zertifizierungsstelle geführt und enthält die Seriennummer ungültiger Zertifikate. Diese sind mit einem Zeitstempel versehen und einer Signatur geschützt. Voraussetzung für eine Prüfung durch diesen Sicherheitsmechanismus ist eine aktive Internetverbindung.

In diesem Beispiel trat dieser Fehler auf.

OCSP

Ein weiterer Schutz der unter Java 8 aktiv ist nennt sich Online Certificate Status Protocol. Dabei handelt es sich um ein Netzwerkprotokoll, das ebenfalls bei einem CA Dienst (OCSP-Responder) nach der Gültigkeit eines Zertifikats fragt. 

Sicherheitsprüfungen für Zertifikate in Java 8 ausschalten

Bei selbst signierten oder anderweitig verwendeten Zertifikaten können diese Prüfungen ausgeschaltet, bzw. eingeschränkt werden. Denn bei einer Test- oder Intranetanwendung ist es nicht immer sinnvoll die Gültigkeit bei einer CA zu überprüfen.

Darum lassen sich in den Java Einstellungen ("Systemsteuerung/Java/Erweitert") CPL und OCSP deaktivieren.

java8-sicherheit

Bei dieser Einstellung wird die Prüfung nicht komplett deaktiviert, sondern auf Zertifikate des Anbieters, also des Softwareherstellers beschränkt. Das heißt, bei selbst signierten Zertifikaten dürfte nun kein Fehler seitens Java angezeigt werden, wenn die gewünschte URL auf der Whitelist ist oder dem eigenen Zertifikat vertraut wird.

Natürlich lassen sich CRL und OCSP auch komplett deaktivieren. Die Einstellungen sind dann wie folgt.

java8-sicherheit-zertifikate

P.S. Im selben Menü könnt im gleichen Zug weiter unten die Protokolle SSL 3.0 und TLS 1.0 deaktivieren.