Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

November 28 2012

16:17

Arme-Leute-Rechteverwaltung mit SSL-Client-Zertifikaten

Für ein Projekt administriere ich einen Server, auf dem verschiedene Webanwendungen laufen. Sicherheitspolicy ist, daß ein Zugriff darauf nur über https und Client-Zertifikaten möglich sein darf - so weit, so einfach.
Eine der Anwendungen ist gitlab, eine github-ähnliche Weboberfläche für git-Repositories. Erfreulicherweise begeisterten sich immer mehr Leute, die nicht direkt zum Projekt gehörten, für git... und dann folgte der Klassiker: Es soll nun Leute geben, die ausschließlich auf gitlab, aber auf keine der anderen Anwendungen zugreifen können. Also mußte zusätzlich zur Authentisierung noch eine Authorisierung her... aber wie? Die Rechtekontrolle sollte auf Basis von URL (bzw. URL-Teil) sowie den Client-Zertifikaten erfolgen und außerdem "abwärtskompatibel" zu den bereits ausgegebenen Zertifikaten sein.
Wer ebenfalls in eine solche Situation kommt - folgende Möglichkeiten sind mir hierzu eingefallen:

Weiterlesen

April 10 2012

19:19

HtmlUnit mit https und Client-Zertifikaten

HtmlUnit ist eine Java-Bibliothek, welche eine Art "headless Webbrowser" zur Verfügung stellt - Seitenabrufe, Suche nach Elementen auf Seiten und anschließende Aktionen lassen sich hiermit programmieren (beispielsweise für Integrationstest das Ausfüllen eines Login-Formulars und anschließende Klicken des Login-Buttons). Unglücklicherweise bietet HtmlUnit keine geradlinige Unterstützung für https - insbesondere bei der Verwendung von Client-Zertifikaten ist man schlichtweg aufgeschmissen.
Unter der Haube verwendet das aktuelle HtmlUnit zum Aufbau von Verbindungen die Apache HttpComponents; in früheren Versionen war es Apache HttpClient - hier konnte man mit dem hier beschriebenen Trick die Clientzertifikate "unterschieben". Nach einigem Graben in den Untiefen der Bibliothek habe ich nun einen Weg gefunden, mit dem es auch in der aktuellen Version möglich ist.

Weiterlesen

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl