In diesem Dokument wird ein Problem beschrieben, bei dem das neueste Java-Update die Supplicant-Bereitstellung unterbricht. Außerdem werden einige Gastdatenflüsse beschrieben, die Zugriffskontrolllisten (ACLs) und die Umleitung verwenden.
Der Fehler befindet sich im CiscoSPWDownloadFacilitator und lautet: "Zertifikat konnte nicht validiert werden. Die Anwendung wird nicht ausgeführt."
Wenn Sie auf Weitere Informationen klicken, erhalten Sie eine Ausgabe, die sich über die Zertifikatsperrliste (Certificate Revocation List, CRL) beschwert.
java.security.cert.CertificateException: java.security.cert.
CertPathValidatorException: java.io.IOException: DerInputStream.getLength():
lengthTag=127, too big.
at com.sun.deploy.security.RevocationChecker.checkOCSP(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 sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider
(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy
(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen
(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Suppressed: com.sun.deploy.security.RevocationChecker$StatusUnknownException
at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
... 34 more
Caused by: java.security.cert.CertPathValidatorException:
java.io.IOException: DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.provider.certpath.OCSP.check(Unknown Source)
at sun.security.provider.certpath.OCSP.check(Unknown Source)
at sun.security.provider.certpath.OCSP.check(Unknown Source)
... 35 more
Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.util.DerInputStream.getLength(Unknown Source)
at sun.security.util.DerValue.init(Unknown Source)
at sun.security.util.DerValue.<init>(Unknown Source)
at sun.security.provider.certpath.OCSPResponse.<init>(Unknown Source)
... 38 more
In der neuesten Java-Version (Version 7, Update 25 - veröffentlicht am 5. August 2013) hat Oracle eine neue Standardeinstellung eingeführt, die den Client dazu zwingt, das mit einem beliebigen Applet verknüpfte Zertifikat mit einem beliebigen CRL oder Online Certificate Status Protocol (OCSP) zu validieren.
Das Signaturzertifikat, das Cisco diesen Applets zuordnet, enthält eine CRL und einen OCSP für Thawte. Wenn der Java-Client versucht, auf Thawte zuzugreifen, wird er aufgrund dieser neuen Änderung entweder durch eine Port-ACL und/oder eine Umleitungs-ACL blockiert.
Das Problem wird unter der Cisco Bug-ID CSCui46739 verfolgt.
[user@user-linux logs]$ nslookup
> crl.thawte.com
Server: 64.102.6.247
Address: 64.102.6.247#53
Non-authoritative answer:
crl.thawte.com canonical name = crl.ws.symantec.com.edgekey.net.
crl.ws.symantec.com.edgekey.net canonical name = e6845.ce.akamaiedge.net.
Name: e6845.ce.akamaiedge.net
Address: 23.5.245.163
> ocsp.thawte.com
Server: 64.102.6.247
Address: 64.102.6.247#53
Non-authoritative answer:
ocsp.thawte.com canonical name = ocsp.verisign.net.
Name: ocsp.verisign.net
Address: 199.7.48.72
Wenn sich diese DNS-Namen ändern und Clients etwas Anderes auflösen, schreiben Sie die URL für die Umleitung mit den aktualisierten Adressen um.
Beispiel für ACL-Umleitung:
5 remark ISE IP address
10 deny ip any host X.X.X.X (467 matches)
15 remark crl.thawte.com
20 deny ip any host 23.5.245.163 (22 matches)
25 remark ocsp.thawte.com
30 deny ip any host 199.7.52.72
40 deny udp any any eq domain (10 matches)
50 permit tcp any any eq www (92 matches)
60 permit tcp any any eq 443 (58 matches)
Bei den Tests wurde festgestellt, dass die OSCP- und CRL-URLs zu folgenden IP-Adressen aufgelöst werden:
OCSP
199.7.48.72
199.7.51.72
199.7.52.72
199.7.55.72
199.7.54.72
199.7.57.72
199.7.59.72
Sperrliste
23.4.53.163
23.5.245.163
23.13.165.163
23.60.133.163
23.61.69.163
23.61.181.163
Dies ist möglicherweise keine vollständige Liste, die sich je nach Region ändern kann. Daher müssen Tests durchgeführt werden, um festzustellen, zu welchen IP-Adressen die Hosts in den einzelnen Instanzen auflösen.
Legen Sie im Abschnitt Erweitert der Java-Systemsteuerung die Option Prüfungen für Zertifikatssperrung durchführen auf Nicht prüfen (nicht empfohlen) fest.
OSX: Systemeinstellungen > Java
Erweitert
Zertifikatsperrung durchführen mit: Änderung zu 'Nicht prüfen (nicht empfohlen)'
Windows: Systemsteuerung > Java
Erweitert
Zertifikatsperrung durchführen mit: Änderung zu 'Nicht prüfen (nicht empfohlen)'
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
05-Aug-2013 |
Erstveröffentlichung |