Archiv für Januar 2012

CP Web: Java Elemente werden nach Update auf Version 3.2 nicht mehr geladen

Seit dem Update der Controllingsoftware CP Web 3.0 auf 3.2 haben wir das Problem, dass die Java Elemente von CP Web auf Rechnern mit Windows 7 nicht mehr geladen werden und im Status „Loading“ verbleiben:

Normalerweise tritt der Fehler auf, wenn entweder die Java Runtime nicht installiert ist oder das Java Sicherheitszertifikat bei der ersten Anmeldung an CP Web nicht akzeptiert wurde. In diesem Fall tritt der Fehler jedoch auch dann auf, wenn beides korrekt eingerichtet ist.

Zudem sind nur Systeme mit Windows 7 oder Windows Server 2008 R2 betroffen – mit Windows XP gibt es keine Probleme. Darüberhinaus werden unmittelbar nach der Anmeldung in CP Web folgende Fehler in der Java Konsole protokolliert:

java.lang.NullPointerException
at com.corporate.planning.slider.fisimplementation.datamodel.FISModel.getNearestStartIndex(FISModel.java:289)
at com.corporate.planning.slider.framework.TimeSlider.modelReloaded(TimeSlider.java:1238)
at com.corporate.planning.slider.framework.TimeSlider.setModel(TimeSlider.java:1230)
at com.corporate.planning.slider.fisimplementation.applet.FISSliderApplet$RunnerThread.run(FISSliderApplet.java:424)

Folgendes hatte ich vergeblich getestet:

  • Internet Explorer Cache gelöscht
  • Internet Explorer zurückgesetzt
  • Java Cache gelöscht
  • Zertifikat mittels Java Systemsteuerung entfernt
  • Java neu installiert

Kurzum: Das Problem entsteht durch den Aufruf von CP Web über IPv6. Unser CP Web Server läuft auf einem Windows Server 2008 R2 mit aktiviertem IPv6. Ruft man den Webserver über den Namen wie z.B. http://cp-web/ auf, findet die Kommunikation zwischen Server und Client über IPv6 statt, was die Anwendung offenbar noch nicht vollständig unterstützt.

Wird die Webseite über die IPv4 Adresse des Servers aufgerufen, werden alle Java Elemente korrekt geladen und die oben beschriebenen Java Fehlermeldungen treten nicht auf.

Advertisements

Windows: Import von SSL-Zertifikat inkl. Private Key für ISA Server oder TMG

Für die Veröffentlichung von z.B. Exchange ActiveSync über das Microsoft Threat Management Gateway oder den ISA-Server sollte auf dem Server ein offizielles SSL-Zertifikat für die gewünschte Domain existieren. Die Zertifizierungsstelle wie z.B. Thawte sendet das Zerifikat in der Regel in Textform zu:

-----BEGIN CERTIFICATE-----
MIIDKTCCAtOgAwIBAgIJAItZm8m/4nSaMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
VQQGEwJERTEWMBQGA1UECBMNTmllZGVyc2FjaHNlbjERMA8GA1UEBxMISGFubm92
ZXIxDzANBgNVBAoTBkxheWVyOTEPMA0GA1UECxMGTGF5ZXI5MR0wGwYDVQQDExRs
YXllcjkud29yZHByZXNzLmNvbTEcMBoGCSqGSIb3DQEJARYNbGF5ZXI5QGdteC5k
ZTAeFw0xMjAxMTkxNTIyNTVaFw0xNTAxMTgxNTIyNTVaMIGXMQswCQYDVQQGEwJE
RTEWMBQGA1UECBMNTmllZGVyc2FjaHNlbjERMA8GA1UEBxMISGFubm92ZXIxDzAN
BgNVBAoTBkxheWVyOTEPMA0GA1UECxMGTGF5ZXI5MR0wGwYDVQQDExRsYXllcjku
d29yZHByZXNzLmNvbTEcMBoGCSqGSIb3DQEJARYNbGF5ZXI5QGdteC5kZTBcMA0G
CSqGSIb3DQEBAQUAA0sAMEgCQQCmqgYLjxnRn2Ql1BTkvl+uba+jE6RvifHUv3bO
r0+9/JxAmWXAP6JEetyROgfnC+ZEZXejbqNn6DvlCgnJsAR9AgMBAAGjgf8wgfww
HQYDVR0OBBYEFOU3k7k03qMI679D0Rup/JvL1mFwMIHMBgNVHSMEgcQwgcGAFOU3
k7k03qMI679D0Rup/JvL1mFwoYGdpIGaMIGXMQswCQYDVQQGEwJERTEWMBQGA1UE
CBMNTmllZGVyc2FjaHNlbjERMA8GA1UEBxMISGFubm92ZXIxDzANBgNVBAoTBkxh
eWVyOTEPMA0GA1UECxMGTGF5ZXI5MR0wGwYDVQQDExRsYXllcjkud29yZHByZXNz
LmNvbTEcMBoGCSqGSIb3DQEJARYNbGF5ZXI5QGdteC5kZYIJAItZm8m/4nSaMAwG
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADQQAlQIKYF37+IbXy5QnjkXmdqm9X
y1mhbRglr9St+Gqvz2ko4aaRwsIfrxRpbvlq6IFd9PLVS/udlx//n7V+CeAk
-----END CERTIFICATE-----

Speichert man das Zertifikat als Textdatei und importiert es in den „Personal Certificate Store“ des Computerkontos, fehlt allerdings der dazugehörige private Schlüssel und das Zertifikat kann nicht genutzt werden.

Um den privaten Schlüssel zu importieren, generiert man mittels OpenSSL einfach ein PKCS#12 Zertifikat, das neben dem Zertifikat auch den privaten Schlüssel enthält:

srv:/# openssl pkcs12 -export -in certificate.pem -inkey privatekey.pem \
-out certfinal.pfx

Ob Private Key und Zertifikat zueinander passen, lässt sich im Zweifel durch das Vergleichen der Prüfsummen von Schlüssel und Zertifikat feststellen. Beide Zahlen müssen identisch sein:

srv:/# openssl x509 -noout -modulus -in certificate.pem | openssl md5 \
19d0a008c19152777ded2b757f26e5c5
srv:/# openssl rsa -noout -modulus -in privatekey.pem | openssl md5 \
19d0a008c19152777ded2b757f26e5c5

Durch den Import der PFX-Datei lassen sich Zertifikat und Schlüssel dann in einem Rutsch hinzufügen.