Webstart und Certificate Chains

05.07.2015

Ich habe nach den ersten theoretischen Vorüberlegungen begonnen, eine ernstgemeinte CA aufzusetzen. Bei den diversen Tests, die ich durchführte, um die korrekte Funktionsweise zu testen, stieß ich auf eine Schwierigkeit, die ich bisher noch nicht umschiffen konnte.

Die PKI

Als PKI setzte ich eine Root-CA auf, die vier untergeordnete CAs aufwies: eine zum Ausstellen von TLS (Server-) Zertifikaten, eine zum Ausstellen von EMail-Zertifikaten und eine zum Ausstellen von Code-Signing-Zertifikaten. Dazu kam noch eine intermediary CA, die ihrerseits weitere CAs erstellen konnte.

Damit war dann zunächst jedes Szenario abgedeckt, das ich mir im Vorhinein überlegt hatte: ich konnte TLS- EMail- und Code-Signing-Zertifikate ausstellen und auf einfache Art und Weise neue CAs aufsetzen, mit denen ich weitere Tests durchführen konnte.

Die Tests

Ich erstellte verschiedene EMail-Zertifikate, sicherte einen Server per TLS ab und stellte ein Code-Signing-Zertifikat aus. Mit diesem signierte ich sowohl die Plugins für dWb+ und sQLshell, als auch die Webstart-Versionen diverser Anwendungen.

Das Problem

Alle Tests funktionierten wie erwartet - bis auf die Webstart-Anwendungen: Beim Versuch, diese zu starten, erhielt ich die Meldung:
Running this application may be a security risk
Die mögliche Ursache stand gleich direkt darunter:
Unable to ensure the certificate used to identify this application has not been revoked
Als ich die Java-Einstellungen so änderte, dass für den Revocationtest nur das unmittelbare CA-Zertifikat und nicht die gesamte Kette benutzt wird, konnte die Anwendung plötzlich problemlos starten - das heißt, das der Revocationstatus von Zertifikaten, die durch die Code-Signing-CA ausgestellt wurden, sehr wohl von Webstart geprüft werden konnte. Lediglich der Revocationstatus von Zertifikaten, die von der Root-CA ausgestelllt wurden, konnte durch Webstart nicht bestimmt werden.

Auch nach Aktivieren aller Log. und Trace-ausgaben konnte ich keine Ursache dafür feststellen: Lediglich eine lapidare Meldung taucht dann dort auf:

security: Revocation Status Unknown
Vielen Dank, liebe Entwickler von Webstart!

Als eine mögliche Idee, den Grund dafür einzukreisen, fiel mir das Schreiben einer eigenen Java-Anwendung ein: Diese sollte anhand der Angaben über CRL-Quelle und Ort des Zertifikates des Ausstellers ausgehend von einem Endnutzer-Zertifikat die gesamte Kette bis zur Root-CA emporhangeln und die Gültigkeit jedes Zertifikats entlang des Wegs anhand der CRL-Informationen im jeweiligen CA-Zertifikat testen. Ergebnis: Es funktioniert!

Damit ist für mich klar, dass der Fehler irgendwo in Webstart liegt: entweder in der Implementierung oder der fehlerhaften oder lückenhaften Dokumentation, wenn es um Code signing für Webstart-Anwendungen geht.

Artikel, die hierher verlinken

TSA mit openssl im Eigenbau

06.03.2016

Ich habe nach den ersten theoretischen Vorüberlegungen begonnen, eine ernstgemeinte CA aufzusetzen. Beim Konfigurieren dieser Infrastruktur zum Anbieten der Dienstleistungen einer Timestamp Authority (TSA) stieß ich auf Schwierigkeiten, für deren Lösung ich erst in meinen Weihnachtsferien einen geeigneten Ansatzpunkt fand.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Ticketsysteme sind lebende Wesen

    29.03.2020

    Hier zunächst wieder eine Triggerwarnung: Dieser Artikel wird meine Meinung abbilden. es kann sein, dass sie dem einen oder anderen nicht gefällt - das ist mir aber egal. Und wenn hier irgendwelche Schneeflocken mitlesen, dann sind die selber schuld.

    Weiterlesen...

Neueste Artikel

  • Weitere Experimente mit dem Clifford-Attractor

    Ich berichtete hier bereits über Experimente mit dem Clifford-Attractor, allerdings war ich noch Experimente unter geringfügig geänderten Parametern schuldig...

    Weiterlesen
  • Neues Feature in meinem Static Site Generator: externe URLs

    Es wurde wieder einmal Zeit für ein neues Feature in meinem Static Site Generator mittels dessen ich ja auch meine Heimatseite im Zwischennetz gestalte und verwalte...

    Weiterlesen
  • Eine Bestandsaufnahme

    Es kamen mehrere Faktoren zusammen: die Tatsache, dass ich nicht mehr ganz so kürzlich die 50 überschritten habe hatte ebenso darauf Einfluss wie das heutige trübe Wetter und auch der Fakt, dass ich bereits beinahe alle Wochenendpflichten erledigt habe. Der letzte Stein des Anstoßes war dann aber, dass sich heute zum 125. Mal der Geburtstag von Erich Fromm jährt.

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.