[ OFFTOPIC ] Hilfe bei einer Batch

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Benni
Junior Member
Junior Member
Posts: 44
Joined: 2008-06-04, 01:22 UTC
Location: Deutschland

[ OFFTOPIC ] Hilfe bei einer Batch

Post by *Benni »

Hallo zusammen,

also ich wollte mich jetzt nicht extra in einem Microsoft/Batch wie auch immer Forum anmelden, da es wie ich denke auch hier sehr kompetente Hilfe im Bezug auf "Batch-Fragen" gibt.

Es geht um eine Linux Shell Datei mit folgendem Inhalt:

Code: Select all

openssl x509 -noout -fingerprint -sha256 < "$1" | cut -d '=' -f 2 | tr -dc "[A-F][0-9]" | python -c "import sys; import base64; print base64.b32encode(base64.b16decode(sys.stdin.readline()))" | tr -d "="
Diese Shell erstellt auf Basis eines OpenSSL Zertifikates einen fingerprint in Base32. Benötigt wird hierbei zum einen natürlich ein Zertifikat und es wird vorrausgesetzt, dass "openssl" und "python" als Paket installiert sind.
Die Benutzung aus dem Terminal heraus geschieht dann wie folgt:

Code: Select all

sh <shellfile> <certfile>
Soweit sogut, ich bräuchte nun ein Äquivalent das unter Windows als Batch ausgeführt werden kann. Ich habe mir OpenSSL und Python unter Windows 7 installiert und beides als PATH deklariert, nur komme ich mit der Befehlszeile nicht klar, da ich mich mit Batches nicht so gut auskenne.
Die optimale Lösung für mich wäre es, wenn man das "certfile" namentlich gleich in die Batch mit integrieren könnte, dann müsste das CMD Fenster aber nach ausführen des Befehls offen bleiben, es genügt allerdings auch wenn man es händisch im CMD Fenster ala "<batchfile> <certfile>" eingeben kann.

MfG Benni
#138579 Single user license
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ich glaube, es wäre sinnvoll, wenn du schreiben könntest, was jeder Befehl der Pipe tut (Python kannst du wohl weglassen), also aus welchen Eingangsdaten welche Ausgangsdaten werden.

Um aber dennoch schon etwas beizutragen: cut, tr & Co gibt's auch für Windows. Nein, damit meine ich nicht die ziemlich aufgeblasene Umgebung Cygwin, sondern zum Beispiel UnxUtils (steinalt, aber sicherlich brauchbar).

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Benni
Junior Member
Junior Member
Posts: 44
Joined: 2008-06-04, 01:22 UTC
Location: Deutschland

Post by *Benni »

Also ich hab hier die original Description, so steht es in der Readme (Die Shell gibt es bei Sourceforge)

Zitat: "This bash script generates a keyprint of a particular certificate in Linux, as used in the KEYP extension.

The script uses OpenSSL, filters all the verbosity OpenSSL adds and then uses Python to encode it into Base32.

The script first calls OpenSSL to get the fingerprint then remove the verbosity and the colons convert with Python and remove any padding."

PS: Da es Python ja auch für Windows gibt, sollte es doch möglich sein, die für Linux gemachte Befehlszeile batch-konform umzuwandeln. Es gibt in dieser Befehlszeile OpenSSL, Python und Shell Befehle, wenn nun einer weiss welche die Shell Befehle sind, kann man diese auch in ein batchkompatibles Format bringen.
#138579 Single user license
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ich nahm an, du hättest die Befehlsgruppe selber geschrieben und kennst dich ein bisschen mit (Ba)sh aus. Aus deiner Antwort schließe ich, dass das erste offensichtlich nicht zutrifft, beim letzteren hab ich ebenfalls meine Zweifel.

Du kannst den Befehl, so wie er ist, übernehmen, wenn du die entsprechenden Tools (namentlich cut und tr und natürlich Python) vorliegen und in einem Verzeichnis des PATH zugänglich gemacht hast (\Windows oder \Windows\system32). Die einzige Änderung am Befehl wäre die Umwandlung von $1 in %1.

Dennoch solltest du klein anfangen, heißt, jeden Teil der Befehlsgruppe für sich allein aufrufen und festhalten, welche Ausgabe erfolgt. Nur so kann man sinnvoll vergleichen, ob die Befehle und deren Parameter passen.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
JOUBE
Power Member
Power Member
Posts: 1672
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Schon mit Cygwin versucht?

JOUBE
Benni
Junior Member
Junior Member
Posts: 44
Joined: 2008-06-04, 01:22 UTC
Location: Deutschland

Post by *Benni »

Mit Cygwin geht es einwandfrei.
Ich danke dir JOUBE, aber auch dir Dalai für deine Mühe.

MfG Benni
#138579 Single user license
Post Reply