OpenSSl PKI

  • Hallo allerseits,


    ich habe nach folgender Anleitung eine Openssl Simple-PKI http://pki-tutorial.readthedoc…/latest/simple/index.html aufgebaut. Die funktioniert sehr gut für Benutzer meiner Domain. Wie muss ich die email.conf verändern, um Zertifikate für andere Domains z.B meiner eMail wm1@xxxxxxx.de
    zu erstellen? Wie erstelle ich mit meiner CA Zertifikate für Freunde und Geschäftspartner, die kein Geld für Benutzer-Zertifikate ausgeben möchten und den amerikanischen und anderen CA's nicht vertrauen da sie deren Root-Zertifikate vom Rechner bzw Firefox entfernt haben? Ich selbst habe bereits auch Zertifikate von DigiNotar entfernt.

  • Hallo wm1,


    in diesem Fall musst Du nicht den mühsamen Weg über die CLI beschreiten und OpenSSL von Hand bedienen. Schau das Programm xca an. Damit kannst Du alles per GUI erledigen und Dir sogar Templates anlegen.
    Ich glaube, Peter Lehmann hat dazu sogar eine Anleitung erstellt. Für eine gute Flasche Wein lässt er bestimmt mit sich reden. ;-)


    Gruß


    Susanne

  • Hallo wm1,


    ich sagte doch, wir sehen uns wieder :) .
    Zu deiner "Openssl Simple-PKI" kann ich dir keinesfalls mehr sagen, als in dem gut gemachten Tutorial steht. Genau so habe ich auch mal angefangen! Diese Ochsentour (wenn du mehr als ein Dutzend Zertifikate haben willst!) hat aber den großen Vorteil, dass du danach verstanden hast, was hinter der bunten GUI aller anderen grafischen PKI-Tools passiert.
    Zu deiner Frage mit den "anderen Domains":
    Ich kann mich daran erinnern, dass im Verlauf der Abarbeitung des Scripts die in der Konfig-Datei eingetragenen Daten als Voreinstellung angezeigt wurden (nur die Bestätigung erforderlich), aber andere Daten dafür eingesetzt werden konnten. Also, ich habe auch für andere Domains Zertifikate erzeugt, mir ist das gar nicht als Problem aufgefallen.


    Meine Empfehlung ist, wie schon durch Susanne angedeutet XCA. Da kann ich dir gern mit Rat und Tat zur Seite stehen. Auch was Erfahrungswerte hinsichtlich der Einstellungen und auch Templates betrifft. Es gibt hier eine ganze Reihe User, die auch selber "CA" spielen und Zertifikate produzieren. Du wirst also hier immer jemand finden, der dir dabei helfen kann.



    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Herzlichen Dank für eure Antworten. Im Moment reicht mir noch die Kommandozeile aus da ich ihr absolut vertraue und alles damit erledigen kann, auch ocsp. XCA ist zwar sehr nett und funzt gut, hat aber keine Web-Oberfläche.
    EJBCA ist komplizieret zu installieren, hat ne Web-Oberfläche, aber nicht mein absolutes Vertrauen da in Java als EJB. Da müsste man dann die Wahrheit im Quellcode finden um absolutes Vertrauen zu haben da Sun und Oracle amerikanische Firmen sind und denen pauschal nicht zu trauen ist.
    Den großen CA's ist aber auch nicht zu trauen, da die dazu übergehen, den Private-key zu speichern um bei Passwortverlust das Zertifikat wieder herzustellen und obendrein amerikanische oder israelische Unternehmen sind woraus folgt, pauschal nicht vertrauenswürdig. Da bleibt dann noch cacert.org aber da bekommt man nur Zertifikate für 3 Monate ohne von zig Leuten kontrolliert worden zu sein, son Quatsch völlig unpraktisch und nicht handhabbar. Wer fährt schon 200km zu ner signing-Party? Ich nicht.
    Ich hab doch durch scharfes hinsehen glatt ein Root-Zertifikat in meinem Win7 gefunden, dass von 1996 bis 2040 Gültigkeit hat und von einer dubiosen Root Agency ausgestellt war. Hab dann den Mist sofort in der Registry gelöscht und das Unterschieben von Zertifikaten durch Windows Update unterbunden. Beim BSI hat google hierauf keinen Hinweis gefunden.


    Ich denke ich werde noch mal die Advanced und Expert PKI Tutorials ausprobieren um mein Domain Problem zu lösen in der *.conf Datei. Da werd ich einfach mal eine andere policy probieren.


    Am liebsten wäre mir jedoch, jemand wüsste ein Web-Interface für OpenSSL auf python-django oder ruby-rails Basis.


    MfG wm1

  • XCA ist zwar sehr nett und funzt gut, hat aber keine Web-Oberfläche.


    Verstehe ich Dich richtig, dass Du Deinen Service als private CA über das Web bereitstellen willst? Das kann xca so nicht, aber es bietet die Möglichkeit, Request zu stellen. Das heißt, jemand der gern ein Zertifikat von Dir hätte, kann mir xca einen Request an Dich stellen, den Du dann prüfst und genehmigst oder auch nicht. Das ist sicher deutlich um ein Vielfaches einfacher zu handhaben als eine CA im Web zu implementieren.

  • Danke für deine Antwort SusiTux. Genau so eine Software suche ich, die mir eine CA übers Web zur Verfügung stellt wie ejbca nur ohne java und nicht so kompliziert zu installieren und sollte OpenSource sein, damit man die Wahrheit im Quellcode finden kann. Java macht ja auch schnellste Rechner langsam, hab ich selbst als jahrelanger Java-Entwickler erlebt. Da ich bei Zertifikaten niemandem mehr trauen kann und will, hab ich jetzt meine eigene OpenSSL CA und meine eigenen Zertifikate im apache und mumble installiert.


    Das Domain Problem mit der *-email.conf hab ich übrigens schon gelöst. Beim signieren des Request einfach mit dem -policy Parameter die andere Policy im cfg-file wählen.


    MfG wm1


    Was mir jetzt noch fehlt, ist ein vernünftiger Test des ganzen. Da bin ich schon mit Freunden am überlegen, wie wir das mal testen.

  • Hi,


    für den von dir gewünschten Zweck wurde ja mal openCA entwickelt. Auch wenn das ganze ein gewaltiges Konstrukt war, so hat es doch wirklich sehr gut funktioniert. Alle Bestandteile eines TrustCenters waren da integriert, sogar ein OCSP-Responder. Und openCA wurde auch von diversen Firmen als Firmen-CA genutzt.
    Nur wird meines Wissens die Software schon seit einiger Zeit nicht mehr gepflegt. Und einen Dienst ins böse Netzt zu stellen, noch dazu einen Dienst, welcher Sicherheit produzieren soll, ist vor allem nach den letzten sicherheitsmäßigen Hiobsbotschaften keinesfalls zu empfehlen.


    Du weißt ja, dass ich seit vielen Jahren eine eigene Privat-CA betreibe. Und in dieser Zeit eine vierstellige Zahl an Zertifikaten erzeugt und verteilt habe. So kam mir auch mal die Idee, das ganze mit openCA zu machen, und mir viel Aufwand zu sparen. Warum ich das dann doch wieder fallengelassen habe, habe ich ja geschrieben. Ich habe trotz der großen Anzahl an zu erzeugenden Zertifikaten "meine" XCA zu laufen. Und ich habe diese CA auch so betrieben, wie das von einer CA erwartet wird: völlig autonom und vom bösen Netz getrennt. Und selbst das alte Notebook ist noch vollverschlüsselt. Die Requests und die Zertifikate (oder wenn gewünscht die kompletten p12) werden ber USB-Stick vom CA-Rechner zum Internet-Rechner übergeben.
    Und trotz der vielen zu produzierenden Zertifikate richte ich mich in einem für die Nutzer und auch für mich zumutbarem Rahmen (!) nach §5 SigG, welcher eine "sichere Personenidentifizierung der antragstellenden Personen" verlangt. Und genau das ist (neben den IT-Sicherheitsproblemen bei einer frei im Netz stehenden CA) das Problem, welches du sonst nicht in den Griff bekommst, wenn du die Nutzer selbst ihre Daten eingeben lässt. Bei mir wird jeder "Antrag" immer noch penibel überprüft - genau so, wie ich das aus dem TrustCenter kenne, in dem ich viele Jahre gearbeitet habe.


    Ich biete meinen Nutzern an, deren (zumeist auch mit XCA erstellten) Request zu signieren, aber die meisten Nutzer verzichten auf diese "Mühe" und wünschen eine "Vollversorgung", also die komplette Schlüsseldatei. Und ich garantiere diesen Nutzern auch, dass ich nach der Funktionsprobe seinen privaten Schlüssel sicher lösche.


    Damit das alles reibungslos funktioniert, habe ich sowohl zum Erstellen des Requests als auch zum Import der Zertifikate/Schlüssel in den TB ausführliche bebilderte Anleitungen erstellt. Bis jetzt hatte noch niemand ein Problem damit.



    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Hallo Peter,


    danke für den Einblick in deine private CA, hast du super gemacht. Ich brauce einfach was fürs Web denn meine Freunde würden niemals einem privaten Schlüssel trauen, der nicht auf ihrem Rechner erzeugt wurde. Sie sagen dann: "Wenn ich den privaten Schlüssel nicht selbst erzeuge, dann brauche ich keine Verschlüsselung". Ich werde mal OpenCA ausprobieren, die letzte Änderung war da übrigens am 21.01.2015 in der libpki-0.8.8, ist also doch noch nicht verwaist das Projekt.


    Dann hab ich noch 2 Dokus (OSPKI und openca-guide.pdf) gefunden und hoffe dann den Zusammenbau von Policies in der *.conf zu verstehen, um verschiedene Zertifikate und Klassen von Zertifikaten herzustellen.


    MfG wm1

  • Hallo wm1,


    wie wäre es mit GnuPG als Alternative? Dann muss jeder sein Schlüsselpaar selbst erzeugen und hat die vollständige Kontrolle. Man benötigt halt zusätzliche Software, und für die Laien unter Deinen Freunden mag das deshalb zunächst kompliziert wirken. Auf der anderen Seite bietet GnuPG gerade im privaten Umfeld, wo man keine "beglaubigte" CA benötigt, dafür auch Vorteile: man wird unabhängig von den CAs, wenn man möchte lassen sich E-Mails unverschlüsselt abspeichern, man kann einzelne Dokumente unabhängig von der E-Mail verschlüsseln, ... .


    Gruß


    Susanne

  • Hallo Susanne,
    PgP, jetzt GnuPG machen wir schon seit Ende der 90er Jahre.


    MfG wm1