ich tüftle hier derzeit mit openssl. https funktioniert mit selbst signierten zertifikaten soweit ganz hervorragend. in einer der konfigurationsdateien von apache verwende ich folgende zeilen: SSLVerifyClient require SSLOptions +StdEnvVars der aufruf der webseite verlangt sogleich das vorhanden sein eines zertifikats. in der php seite ist folgender code enthalten: if(isset($_SERVER["SSL_CLIENT_VERIFY"]) === false) { } elseif($_SERVER["SSL_CLIENT_VERIFY"] == "SUCCESS") { print("<pre>" . print_r($_SERVER, true) . "</pre>"); } mir werden somit diverse eigenschaften die die verbindung betreffen angezeigt. unter anderem subject und issuer daten. nun gehen meine gedanken auch in richtung diverse email anbieter. die werben ja damit wie sicher alles sei. meiner meinung nach reine augenwischererei da die emails selber ja noch immer im klartext auf den servern zu liegen scheinen, sofern die über webmail gesendet werden. ich versuche nun einmal eine frage zu formulieren. nehmen wir an ich nutze einen mail client wie evolution oder thunderbird. hiermit kann ich, mit installierten zertifikaten, emails richtig verschlüsseln. und nicht nur die verbindung zum server selber. die emails sind also nirgends im klartext vorhanden. zuvor schrieb ich ja etwas darüber, dass eine internetseite nur angezeigt wird, wenn der benutzer ein gültiges zertifikat besitzt. was mus ich anstellen, dass ich da nun beispielsweise eine webseite mit einem formular und einer textarea habe in der ich text eingeben kann, die dann selber mit einem öffentlichen schlüssel einer anderen person verschlüsselt wird. in mozilla firefox kann ich neben zertifizierungsstellen und eigenen zertifikaten, auch zertifikate (öffentliche schlüssel) von anderen personen importieren. wie stelle ich es also an, dass ich eben einen solchen öffentlichen schlüssel einer anderen person dahernehme, um die nachricht in firefox zu verschlüsseln, so wie es in email programmen üblich ist, um diese verschlüsselte nachricht dann über eine verschlüsselteverbindung zu senden. so dass diese nachricht dann auf dem server von niemandem lesbar ist. eine andere person verbindet sich dann ebenfalls mit der seite, wieder mit zertifikat und bekommt die verschlüsselten daten übermittelt, über eine verschlüsselte verbindung und entschlüsselt diese daten dann mit dem eigenen privaten schlüssel. ist das was ich vorhabe soweit verständlich? es soll also nicht nur eine verschlüselte verbindung gegeben sein, sondern die daten sollen p7m (application/x-pkcs7-mime) ähnlich, wie in email, auch verschlüsselt sein. ohne dass da gross manuell etwas rumgeölt werden muss. irgendeinen zweck muss es ja haben, das ich in firefox zertifikate (öffentliche schlüssel) anderer personen hinzufügen kann.
Der sinn von "eigenen" zertifikaten besteht dadrin, dass man mit einer eigenen CA zu dem jeweiligen server eine sichere und authentifizierte! Verbindung aufbauen kann. Dh ein client kann sich damit gegenüber dem server authentifizieren. Dafür sind auch die apache direktiven die du gepostet hast. Was du allerdings machen möchtest ist klassische public key kryptographie (rsa). Dafür kannst du das zertifikatsystem nicht gebrauchen. Such nach passenden funktionen für rsa encrypt/decrypt
ja genau. die eigenen zertifikate (erster tab). nur sehe ich in firefox die möglichkeit auch zertifikate anderer personen anzugeben (zweiter tab). nach meinem verständnis sind dies die öffentlichen schlüssel anderer personen um eben diesen eine verschlüsselte nachricht zukommen lassen zu können. so wie in thunderbird... die eigenen (privat + öffentlich) und die der anderen (öffentlich) ausser dem zertifikat der benutzer will ich da nichts weiter eingeben lassen müssen. die benutzer schreiben, senden und fertig. im sinn hätte ich nun die theorie, dass javascript meinen privaten schlüssel nutzt. und den öffentlichen des empfängers, und daraus eine verschlüsselte nachricht erzeugt. wobei ich ganz strk bezweifle das javascript da so einfach zugriff erhält. habe beim stöbern folgendes gefunden: https://mail.mozilla.org/pipermail/firefox-dev/2013-September/000979.html mir erschliesst sich der sinn des tabs auch nicht. denn genau wegen diesen tab komme ich zu meiner eigentlichen vorherigen frage. in thunderbird habe ich unter diesem tab zahlreiche zertifikate anderer personen. was ja auch sinn macht. in firefox kann ich dort die zertifikate aus thunderbird importieren, nur nutzen kann ich sie irgendwie nicht. zumindest habe ich bisher nichts gefunden was mir die auswahl eines empfängers, beispielsweise per dropdown in htm, ermöglicht.
Hallo. Müsste der Apache nicht irgendeine Möglichkeit haben mit Java die public Keys zu benutzen? Irgendeine API muss es da doch geben? Martin
Martin schrieb: > Müsste der Apache nicht irgendeine Möglichkeit haben mit Java die public > Keys zu benutzen? Irgendeine API muss es da doch geben? Was hat der Apache httpd damit zu tun? Der ist in deinem Szenario nur für den Transport zuständig. Das Verschlüsseln, Entschlüsseln und Aufbewahren der Nachrichten ist dein Job. Den kann man in Java oder PHP oder $BeliebigeProgrammiersprache erledigen. Und man kann dafür auf diverse APIs & Bibliotheken zugreifen.
Ich glaube nicht, dass man irgendwie an mehr als das angeforderte Client-Zertifikat rankommen kann.
bluppdidupp schrieb: > Ich glaube nicht, dass man irgendwie an mehr als das angeforderte > Client-Zertifikat rankommen kann. selbst das bekomme ich nicht hin. die seite fordert dazu auf das zertifikat für das login auszuwählen. aber dann hört es auch schon wieder auf. um die nachricht auf dem server verschlüsselt abzulegen taugt das gar nix. denn mit javascript komme ich an den inhalt des eigenen zertifkats, also den privaten schlüssel, nicht dran. auch nicht an den öffentlichen schlüssel anderer personen. sofern ich denn welche installiert habe. ich könnt natürlich dahergehen und das serverseitig mit php veranstalten. dazu müsste der benutzer seinen privaten schlüssel aber auf dem server parken. aber dann kann ich die nachricht genausogut unverschlüsselt speichern. mit einem einfachen formular, mit input type=text für empfänger und textarea für nachricht und input type=button zum senden komme ich da wo ich hin will eben nicht hin. es gelingt mir nicht eine weboberfläche für firefox zu stricken die ich dann wie einen mail clienten nutzen kann. in thunderbird installiere ich die zertifikate und gut is. und genau so hätte ich ganz gerne eine weboberfläche gebaut die ich in firefox nutzen kann. ich bin mir sicher, was da als sichere email in den medien beworben wird ist ... banane. das einizge was verschlüsselt ist, ist die verbindung zum server. dank https. mehr auch nicht. die emails liegen da lesbar auf dem server für "jedermann". da könnte man sich genausogut das https sparen und mit einfachem http fahren. solange die emails da lesbar auf den servern liegen können die sich derlei produktwerbung sonst wo hin tun. und eben da will ich ansetzen. ich will dass die da verschlüsselt liegen. ohne weiteres nachfragen. so dass die auch ein administrator nicht aufbekommt. aber wie bereits erwähnt finde ich die tür zu den zertifikaten leider nicht. und warscheinlich aus gutem grund. ich will ein "bitte wählen sie das zertifikat aus mit dem sie sich an der seite anmelden" und möglicherweise noch ein "bitte wählen sie das zertifikat des empfängers aus" ... und ab damit. gar nichts mit extra kennwörtern abfragen die die benutzer was weiss ich wo miteinenader vereinbaren. irgendeinen sinn muss der tap für die zertifikate andere personen in firefox ja haben. oder eben auch nicht, und die haben den tab noch nicht ausgebaut. oder die haben den schon eingebaut, für irgendetwas in hundert jahren. nun ja. ich mach da mal mit thunderbird weiter. das ganze auch per weboberfläche nutzbar zu machen war jetzt auch nur so eine idee. meinetwegen kann diese diskussion jetzt gerne als "gelöst" betrachtet werden. mir fällt da nun nichts weiter ein.
Was du willst ist eine Ende-zu-Ende Verschlüsselung. IAW: Wenn du willst, dass der Server den Klartext nie zu Sehen bekommt und ihn folglich auch nicht speichern kann, musst du schon im Webbrowser verschlüsseln. Dafür nun gerade auf die Zertifikate für die "Client-Server" Verschlüsselung zuzugreifen, erscheint mir zumindest etwas zweifelhaft. Halbwegs aktuelle Browser (Ok, der IE tanzt mal wieder aus der Reihe, der kann's erst ab Version 11) bieten dafür einige Crypto-Funktionalität, die du aus Javascript heraus ansprechen kannst: https://developer.mozilla.org/de/docs/Web/API/Window/crypto https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.