Linux Tools verhalten sich in Powershell anders

Mitglied: Dani
article-picture
Hallo zusammen,
nachdem es heute auf Arbeit sehr ruhig ist, habe ich Zeit ein paar Spielereien nach zu gehen. :-) face-smile
Ich beschäftige mich zur Zeit mit TLSA Einträge. Und zwar geht es um die Erzeugung des Hashwerts auf Grund des SSL-Zertifikats bzw. dessen SubjectPublicKeyInfo.

Unter Linux erstelle ich den Wert mit folgenden Befehl:

Ausgabe:

Eingesetzte Programmversionen
OpenSSL: 1.1.1f
xxd: V1.10

Nun habe ich die Tools openssl sowie xxd auf Windows Server 2019 und Windows 10 portiert.
Am Befehl hat sich im Wesentlichen nichts geändert:

Ausgabe:


Eingesetzte Programmversionen
OpenSSL: 1.1.1i
xxd: V1.10

Ausgangslage
  • In beiden Fällen wird das gleiche Zertifikat im BASE64 X.509 Format genutzt.
  • Der Hash unter Linux ist der Richtige. Das habe ich mit Hilfe von Generate DANE TLSA Record gegen geprüft.
  • Das Zertifikat "kernel.crt habe ich per SFTP vom Linux Server auf den Windows Server kopiert. Damit möchte ich Copy&Paste Fehler ausschließen.

Kann jemand beschriebene Verhalten nachstellen?
Kann mir jemand sagen, weshalb und warum unterschiedliche Hashes generiert werden?


Grüße,
Dani
Kommentar vom Moderator Frank am 04.10.2021 um 08:23:23 Uhr
Zum Erfahrungsbericht hochgestuft :-) face-smile

Content-Key: 1339306678

Url: https://administrator.de/contentid/1339306678

Ausgedruckt am: 24.10.2021 um 05:10 Uhr

Mitglied: aqui
aqui 03.10.2021 um 16:30:09 Uhr
Goto Top
Das du den "dgst" Parameter ausgelassen hast ist gewollt ?
Mitglied: Dani
Dani 03.10.2021 um 16:58:33 Uhr
Goto Top
Moin @aqui,
Das du den "dgst" Parameter ausgelassen hast ist gewollt ?
Danke für den Hinweis. In meinen unzähligen Tests habe ich u.a. mit den Parametern gespielt. Die Ausgabe ist mit und ohne Parameter die Selbe. Ich habe es zur Sicherheit nochmals geprüft. :-) face-smile


Grüße,
Dani
Mitglied: lcer00
lcer00 03.10.2021 um 18:03:42 Uhr
Goto Top
Hallo,

irgendwo in deinen Pipes muss sich etwas ändern. Zum debuggen würde ich hinten beginnend, einen um den anderen Befehl weglassen und die Ausgabe in ein file schreiben.

Ansonsten würden mir spontan noch die üblichen Verdächtigen, nämlich die Zeilenumbrüche einfallen.

Grüße

lcer
Mitglied: cykes
cykes 03.10.2021 um 18:25:34 Uhr
Goto Top
Nabend,

was zunächst mal auffällt, wenn man sich die HEX-Hashes mal mit festem Zeichnenbstand direkt untereinander schreibt:
-> Der Hash unter Windows ist 2 Oktette länger.

Das würde für @Icer00 These sprechen, dass irgendetwas da falsche Ergebnisse liefert. Ich hätte konkreter die xxd.exe unter Windows in Verdacht, eigentlich sollte die nur die in den Parametern (-c 32) angegebenen 32 "Spalten" bzw. Oktette ausgeben, es werden aber 34 Oktette ausgegeben.

Gruß

cykes
Mitglied: Dani
Dani 03.10.2021 um 18:50:47 Uhr
Goto Top
@lcer00
Zum debuggen würde ich hinten beginnend, einen um den anderen Befehl weglassen und die Ausgabe in ein file schreiben.
Das habe ich natürlich getan. Schlussendlich liegt es unter Windows am Encoding.

Ansonsten würden mir spontan noch die üblichen Verdächtigen, nämlich die Zeilenumbrüche einfallen.
Dadurch, dass ich von Anfang an Pipe kann somit nur das Zertifiktsdatei Zeilenumbrüche enthalten. Da ich diese per SFTP kopiert und bei Debugging auch schon direkt exportiert habe, schließe ich hier ein Fehler aus.

@cykes
Ich hätte konkreter die xxd.exe unter Windows in Verdacht, eigentlich sollte die nur die in den Parametern (-c 32) angegebenen 32 "Spalten" bzw. Oktette ausgeben, es werden aber 34 Oktette ausgegeben.
Mein Fehler. Ich habe wohl beim Kopieren in die Frage den Zeilumbruch entfernt. In der Powershell sieht die Ausgabe ordnungsgemäß aus:

Mitglied: Dani
Dani 03.10.2021 aktualisiert um 22:21:28 Uhr
Goto Top
Guten Abend zusammen,
nach einer längeren Pause, frisches Obst und einem Kaffee habe ich den Fehler gefunden.

Und zwar liegt es am Encoding unter Windows. Folgende Befehl liefert das korrekte Ergebnis:

Ausgabe:

Aus solchen Gründen potiere ich ungern etwas von Linux auf Windows. Aber manchmal ist es leider anders nicht möglich.


Herzlichen Dank an alle für die Unterstützung zu später Stunde!


Grüße,
Dani
Mitglied: Dani
Dani 03.10.2021, aktualisiert am 05.10.2021 um 12:10:13 Uhr
Goto Top
Moin,
...es funktioniert in der Powershell nach wie vor nicht.

Ich Dackel habe ausversehen den openssl - Befehl in einer Eingabeaufforderung abgesetzt (warum auch immer dort die selbe Hintergrundfarbe genutzt wird wie in einer Powershell :-( face-sad). In der Eingabeaufforderung wird der richtige Hash ausgeben (wie oben geschrieben).

Parallel bin ich über folgende Beiträge zum Thema gestolpert:
Openssl result is not matching in cmd and power shell of windows
PowerShell’s Object Pipeline Corrupts Piped Binary Data

Jetzt ist die Powershell durch aus modern. Kann aber nicht mit binären Daten bei der Verwendung von Pipe umgehen?!


Gruß,
Dan
Mitglied: lcer00
lcer00 03.10.2021 um 20:30:07 Uhr
Goto Top
Zitat von @Dani:

Parallel bin ich über folgenden Beitrag gestolpert.
Danke. Wieder was gelernt.

Grüße

lcer
Heiß diskutierte Beiträge
question
ASUS H110M-A - TPM-Funktion im BIOS? gelöst SarekHLVor 1 TagFrageCPU, RAM, Mainboards15 Kommentare

Hallo zusammen, weiß jemand sicher, ob das ASUS H110M-A/M.2 eine TPM-Funktion/Emulation im BIOS hat? Hier ist das Board ganz unten als Win11-kompatibel aufgeführt, aber während ...

question
Sfp 100Mbit Switch gesuchtjonasgrafeVor 1 TagFrageSwitche und Hubs16 Kommentare

Hi zusammen, Bei uns der Firma ist heute Nacht ein Einsteckmodul (Lwl SC) von einem Siemens Scalance Switch gestorben. Über diese Module besteht eine Verbindung ...

question
PC zeigt kein Bild mehrben1300Vor 23 StundenFrageHardware12 Kommentare

Hallo zusammen, mein PC geht zwar noch an (LED leuchten und Lüfter laufen), aber ich erhalte kein Bild mehr. Mainboard: MSI B450M Mortar Max Mainboard ...

question
PfSense nach Änderung von "Block private networks and loopback addresses" nicht mehr erreichbarvafk18Vor 1 TagFrageRouter & Routing5 Kommentare

Ich habe an meiner pfSense am entfernten Standort in den WAN-Einstellungen den Haken bei "Block private networks and loopback addresses" gelöscht. Nach dem Bestätigen war ...

question
Browserverhalten bei nicht offizieller TLD im privaten NetzSiegfried36Vor 17 StundenFrageDNS18 Kommentare

Moin, ich hoffe ihr könnt mir helfen Licht ins Dunkel zu bringen. So ganz verstehe ich diesen ganzen Zusammenhang nicht. Ich will in meinem internen ...

question
Jeder druckjob (auf WTS) soll im eventvwr.msc vermerkt werdenManuManu2021Vor 1 TagFrageMicrosoft2 Kommentare

Hallo, die User arbeiten mit TS Server und versenden via Warenwirtschaft mittels Datei/Drucken/Tobit-Faxware-Drucker einzelne Briefe. (ca. 2000 pro monat ausgehend, kein Newsletter) Manchmal funktioniert der ...

question
Prüfen ob Befehl in Variable true zurück gibt gelöst zuzuelqVor 1 TagFrageBatch & Shell7 Kommentare

Hallo liebe Gemeinde, sonst stiller Leser nun Fragender (Powershellbeginner). Steinigt mich bitte nicht, aber ich habe mir die gestrige Nacht um die Ohren geschlagen, und ...

question
JBOD - Platte kopieren möglich?DoKi468Vor 16 StundenFrageFestplatten, SSD, Raid1 Kommentar

Hallo zusammen, eine Frage: Ich habe eine Synology NAS und habe dort ein JBOD eingerichtet mit 2 4TB Platten Allerdings springt bei einer Platte teilweise ...