Re: API anstatt keytool/openssl



Hi Robert,

Robert Kochem schrieb:
Mit Ausnahme der proprietären Erstellung und Übersendung der Zertifikate an
den Server mit den CA-Schlüsseln hast du eine PKI nachgebaut. Wenn du stattdessen bei den Zertifikatsanfragen auf das Standard
Certificate request-Format setzten würdest (siehe rfc2511), dann könntest
du jede beliebige PKI einsetzen. Fertige PKIs sollte es auch komplett in
Java implementiert geben.

ich bin mir dessen bewusst. Der Grund für die Propietärimplementierung liegt in dem Wunsch, sämtliche Kommunikation zwischen Peers und Server über ein Protokoll abzuwickeln, und dieses wiederum ist über ein XSD definiert. Es ist an sich etwas komplexer als anfangs dargestellt, nämlich wie folgt:

- Mensch registriert sich im System, Ergebnis: username/password
- Mensch möchte Peer im Netzwerk werden, installiert dazu Client-Software
- Der Client verfügt bei Auslieferung über ein "Registration"-Zertifikat im Keystore und das Zertifikat der Root-CA (anhand dessen er die Server authentifizieren kann), womit er ein Registrierung seines Clients im Netz vornehmen kann (damit kann eine authentifizierte Verbindung über SSL mit dem Server hergestellt werden). Dieses Zertifikat akzeptiert der Server ausschließlich für den Registrierungsvorgang, sonst kann es nicht verwendet werden.
- Der Client registriert sich mit username und password am Server und bekommt daraufhin eine eindeutige ID zugewiesen.
- Der Client kreiert das Zertifikat und fügt ihm die ID-Information hinzu, die er vom Server bekommen hat.
- Das Zertifikat wird zum Server geschickt, welcher überprüft, ob username und password zur gesätzten ID passen und signiert das Zertifikat daraufhin. Die ID ist klarerwiese fest verankert im Zertifikat.
- Jeder Peer hat eine Liste aller anderen Peers und Server im Netz, welche er primär für die Erfüllung seine Aufgaben benötigt, aber auch dazu nutzen kann, eine Anfrage von einem anderen Peer zu validieren. Durch die feste Verdrahtung zwischen Peer und Zertifikat ist jede Anfrage von einem Peer automatisch auch authentifiziert (die Rechte sind durch die ID vorgegeben) - soll ein Peer im Netz nicht mehr akzeptiert werden, muss nicht sein Zertifikat zurückgezogen werden, sondern nur seine ID entsprechend markiert werden. Et voila.

Sollten sich diese Aufgaben einfacher lösen lassen, bin ich für jeden Tip dankbar.

Lt. meinen Informationen gibt's nicht sehr viele Implementierungen für CMP, namentlich nur etwas für einen EJB-Container (EJBCA), cryptlib und OpenSSL. Cryptlib wär' ja ganz interessant, wenn ich das aber richtig verstanden habe benötigt man da wieder plattformabhängige Bibliotheken, auf die via JNI zugegriffen wird, was ich eigentlich vermeiden möchte.

lG

Bastian
.



Relevant Pages

  • Re: MySQL 5.0.24 ERROR 2026 (HY000): SSL connection error
    ... deine Webserver mit der Datenbank über ein derart unsicheres Netz ... (Zertifikat und Key) ... Ich habe den DB Server und drei Clients. ... Auf welchem der vier Maschinen werden sie erstellt und auf ...
    (de.comp.datenbanken.mysql)
  • Re: HTTPS funktioniert nicht?
    ... kannst du HTTPS ohne ein Zertifikat nicht benutzen. ... to VIP (Server IP) Dienst any ist, ... Rufe ich die Seite mit HTTP auf, obwohl ich SSL aktiviert habe, so ...
    (microsoft.public.de.inetserver.iis)
  • Re: Active Directory, Zertifikate und PHP
    ... Wenn du per ldaps auf deinen Active Directory gehen willst.. ... Warum in dem Verzeichnis und in der Datei weiss keiner so genau. ... Wieso kriegt er das Zertifikat nicht? ... > AD Server anzumelden, ging das anfangs auch nicht auf Port 636. ...
    (microsoft.public.de.german.win2000.active_directory)
  • Re: selbstsigniertes SSL Zertifikat
    ... Wie willst Du anhand des Zertifikats feststellen, welcher Server ... zugehörigem Zertifikat durch die weite Welt von einem Server zum ... korrespondierenden privaten Schlüssels den im Zertifikat eingetragenen ... nicht aus der Hand gegeben hat und der private key auch nicht "gestohlen" ...
    (de.comp.security.misc)
  • Re: Nicht mehr existente Zertifizierungsstelle
    ... Es gab einen Win2k3 DC Server der ebenfalls eine Zertifizierungsstelle ... Zertifikat", welches noch als Stelle den nicht mehr existenten Server ...
    (microsoft.public.de.german.windows.server.active_directory)