OpenSSL
Mit WebAssembly für den Webbrowser portiertHintergrund
Die Basis dieser Anwendung ist die Open-Source-Software OpenSSL. OpenSSL ist ein weit verbreitetes Toolkit und dient unter anderem dazu, eine sichere Datenübertragung im Internet durch die Implementierungen der Verschlüsselungsprotokolle SSL/TLS zu gewährleisten.
Zusätzlich verfügt OpenSSL über ein Kommandozeilenprogramm (CLI), das verschiedene kryptografische Werkzeuge bereitstellt, darunter [1]:
- Ver- und Entschlüsselung
- Berechnung von Hash-Werten
- Erzeugung kryptografischer Schlüssel
- Erstellung und Verwaltung von digitalen Zertifkaten
- SSL/TLS Client- und Server-Tests
OpenSSL bedienen
Das Programm OpenSSL kann über seine CLI bedient werden. Das steht für "Command Line Interface" und meint das Terminal. Man schreibt also einen "Befehl" ins Terminal, zum Beispiel openssl genrsa 1024
(das erzeugt einen 1024 Bit langen RSA Schlüssel). Man schreibt immer zuerst openssl
und dann welche Funktion aus OpenSSL man möchte und dann meistens noch Parameter, die sind immer unterschiedlich.
Allgemein sehen "Befehle" immer so aus:
openssl <funktion> [parameter]
Die spitzen Klammern bedeuten, dass der Name der funktion
variabel ist. Man kann also unterschiedliche Werte einsetzen. Die eckigen Klammern bedeuten, dass die parameter
optional sind, das kommt immer auf die Funktion an.
Eine Übersicht aller Funktionen bietet der help
Befehl:
openssl help
Man kann für jede Funktion eine Liste möglicher Parameter angezeigt bekommen, wenn man -help
dahinter schreibt:
openssl <funktion> -help
Man kann auch die Ausgaben mehrerer Befehle miteinander verbinden, indem man sogenannte "Pipes" benutzt (gerader Strich nach oben: "|"). Dabei wird die Ausgabe des linken Befehls als Eingabe an den rechten Befehl übertragen. Um die Ausgaben einzufärben, kann man zum Beispiel lolcat
dahinter schreiben:
openssl genrsa 1024 | lolcat
Allgemein sähe das dann so aus, also man kann beliebige Befehle einsetzen:
<befehl1> | <befehl2>
Über diese Anwendung
Diese Anwendung ermöglicht, OpenSSL direkt im Browser zu benutzen. Mit Hilfe der grafischen Oberfläche lassen sich die teils komplexen OpenSSL Befehle leicht zusammen klicken. Sie wird auch "GUI" genannt, das ist Englisch für "Graphical User Interface".
Dazu wurde OpenSSL (Version 3.0 geschrieben in C) mit Emscripten zu WebAssembly kompiliert. WebAssembly ist Assembler Code, der im Browser ausgeführt werden kann. Weitere Informationen finden Sie im GitHub Repository oder der zugrunde liegenden Bachelorarbeit.
Dateien Tab
Im Tab "Dateien" werden nach jedem Befehl die aktuell im virtuellen WebAssembly Dateisystem vorhandenen Dateien angezeigt. Sie können auch Dateien von Ihrem Device auswählen und sie in Befehlen verwenden.