SSL-Zertifikatfehler in Java ignorieren

Immer wieder darf man mit Servern zusammenarbeiten, die zwar eine SSL/TLS-Verbindung anbieten, dabei aber auf müllige Zertifikate setzen:

  • Unbekannte/selbstgebaute CA
  • Komische CA-Chains bei der die Zwischenzertifikate fehlen
  • Servername passt nicht zum OU/DN

Dass man mit solchen Zertifikaten den ganzen Sicherheitsaskept ad-absurdum führt interessiert die Serverbetreiber meist nicht.

Trotz allem will/muss man mit solchen Diensten aber kommunizieren.
MIttels folgendem Code ignoriert man sowohl ungültige CA-Ketten als auch unpassende Zertifikate zum Server selber:
„SSL-Zertifikatfehler in Java ignorieren“ weiterlesen

Fatjar und lustige Classloaderprobleme mit Ant

Neues Projekt, neuer Spaß:

Da das Logging auch lokalisiert sein soll, bietet sich ja cal10n an. Super Sache, ist ja auch schnell integriert.

Trotzdem soll es ja, für die „Normalsterblichen“, eine einfache Distribution geben. Simples Logging und verpackt in einer JAR-Datei.

Soweit so toll, irgendwie erinnert man sich ja an FatJar: Alle JARs werden in ein JAR zusammengepackt und fertig.
Soweit der Plan. Das Projekt ist auch schnell gefunden und das build-File angepasst.

Leider ist das Projekt für die Ant-Integration etwas suboptimal angepast. Aber prinzipiell reicht normales Ant-Wissen und das browsern durch die FatJar-Lib um die richtigen Parameter zu finden:
„Fatjar und lustige Classloaderprobleme mit Ant“ weiterlesen

Neues Projekt ‚Bean Config‘

Also Spin-Off von beamer-tool (ja ich hoffe ich kann dort mal wieder etwas produktives tun) habe ich nun das Projekt Bean Configuration gestartet.

Es verbindet die einfache Benutzung von Java Beans mit der Mächtigkeit von Annotations.

Einfach ein Bean definieren, mit Annotations die einzelnen Felder versorgen ob es sich um optinale oder erforderliche Properties handelt und fertig.

Das ganze gecaste und Default-Value-Handling fällt weg und man kann sich auf seinen eigenen Code konzentrieren.
Ich hoffe der Code spricht für sich: „Neues Projekt ‚Bean Config‘“ weiterlesen

Java-Version mittels ANT-Task überprüfen

Hin und wieder muss man die Java-Version dann doch überprüfen, wenn man mittels ANT Buildscript eine Javaapplikation bauen will.

Blöderweise landet man bei entsprechenden Google-Suchen immer nur auf einem Beispiel (oft kopiert auf diversen Seiten wie jguru.org etc. – Nein ich werde die Beispiele hier nicht verlinken)

Die Beispiel sind ganz toll, aber furchtbar unübersichtlich. Und da ANT 1.7 nun doch schon ein Weilchen draußen ist, kann man seine Featuers auch nutzen: „Java-Version mittels ANT-Task überprüfen“ weiterlesen

Java6-Update folgt nun der JNLP-Spec 1.0.1

JNLP nicht signiert
JNLP nicht signiert

Bevor andere sich durch die JNLP-Specs wühlen mache ich es hier mal kurz und schmerzlos:

Nach dem Update auf Java 6.0u12 meldet der Webstart, dass meine beamer-tool-Anwendungen nicht mehr komplett signiert sind.
Bei genauerer Untersuchung der Fehlermeldung beschwert sich Webstart, darüber, dass die JNLP-Datei nicht signiert ist.

Mal eine neue Meldung… „Java6-Update folgt nun der JNLP-Spec 1.0.1“ weiterlesen

Java-Wrapper für Linux

Um Java-Programme für Enduser halbwegs startbar zu machen sind JARs mit korrektem Manifest ja ganz nett, aber leider muss man hin und wieder auch VM-Argumente mit angeben, was über diese Weg nicht möglich ist.

One-Jar, wofür ich immerhin schon einen Patch geschrieben habe um es meinen Bedürfnissen weiter anzupassen, erübrigt wenigstens das Problem mit den vielen JARs von Zusatzbibliotheken.

Unter Windows kann man dann Launch4J nutzen um diese einzelne JAR-Datei in eine EXE-Datei zu verwandeln.
Etwas passendes gibt es für Linux (meines Wissens nach) leider nicht.
Glücklicherweise ist mit Scripten viel möglich 😛 : Nach Lesen dieses Posts habe ich das Script etwas weiter angepasst: „Java-Wrapper für Linux“ weiterlesen

One-Jar mit erweiterter Unterstützung für native Bibliothken

Mein Projekt beamer-tool unterstüzt zuzeit die folgenden Architekturen:

  • Linux 32Bit
  • Linux 64Bit
  • Mac OS X
  • Windows 32Bit
  • Windows 64Bit

Es handelt sich zwar um ein Java-Programm, jedoch sind einige native Bibliotheken für die Kommunikation mit der Hardware (Grafikkarte und GSM-Gerät) nötig.
So gab es bis heute für jede Architektur ein eignes Releasefile mit immer den selben Jar-Dateien und den jeweiligen nativen Bibliotheken. Gestartet wurde das ganze immer über Startskripte (Batch oder Bash).

Nach mehreren Versuchen, dem Benutzer vernünftige Startdateien bereitzustellen bin ich schließlich bei One-Jar gelanden. Eine gute Zusammenfassung über die anderen Möglichkeiten findet man unter www.excelsior-usa.com/…/java-to-exe.html. „One-Jar mit erweiterter Unterstützung für native Bibliothken“ weiterlesen

MMS und J2ME (oder und die Leiden der Netzbetreiber)

In Zeiten von User-generiertem Content (aka Web 2.0) in Form vou YouTube & Co sind die Leiden einem Teil der IT-Branche fast in Vergessenheit geraten.

Praktisch alle großen Handynetzbetreiber haben vor einiger Zeit Unsummen in den Erwerb von UMTS-Lizenzen versenkt. Erste UMTS-fähige Geräte ebenso wie der Netzausbau ließen lange auf sich warten und sie blieb die SMS eine der Haupteinnahmequellen der Netzbetreiber.
160 Zeichen für 19 Cent. In Zeiten von DSL16000 kaum vorstellbar. 😉 „MMS und J2ME (oder und die Leiden der Netzbetreiber)“ weiterlesen