Jump to content

addy0604

Members
  • Gesamte Inhalte

    69
  • Registriert seit

  • Letzter Besuch

Reputation in der Community

10 Neutral

Über addy0604

  • Rang
    Newbie
  • Geburtstag 06.04.1971
  1. Signaturdatei mit openssl als Batch

    Nee oder? Ich krieg die Kriese.... wieso funktioniert das nun plötzlich... Ich hab mir die Scripte mal angeschaut und noch mal durchprobiert. Es liegt echt daran, das die Parameter in einer bestimmten Reihenfolge angeordnet sein müssen. An die Möglichkeit hab ich nicht gedacht und ist auch nirgends extra erwähnt worden. Ich hab dein Script vom letzten Donnerstag übernommen und damit experimentiert. Dort war hinter -out und -sign immer erst die XML-Datei und zum Schluss der Schalter -passin angegeben. Auf die Idee, die Reihenfolge der Schalter mal zu ändern, bin ich auch nicht gekommen. Du hast nun den Schalter -passin direkt hinter -sign gesetzt und zum Schluss die zu signierende XML-Datei... und schon geht es.... kleine Ursache, große Wirkung... 1000 Dank, das du so hartnäckig warst... ihr seid echte Profis Beitrag kann erfolgreich geschlossen werden. Grüße Matthias
  2. Signaturdatei mit openssl als Batch

    Hallo Zusammen, ich hab mir das am Wochenende noch mal angeschaut. So wie ich das verstanden habe, wird der Schalter -passin genutzt, um ein Zertifikat mit Kennwort mittels openssl zu erstellen. Zusammen mit -dgst funktioniert das nicht. Ich hab auch keine Möglichkeit und kein Argument gefunden, in dem ich das Kennwort irgendwie automatisiert mitgeben kann. Wenn ich -dgst -sha512 -binary -out $outfile -sign $CertFile $_.FullName normal ausführe, werde ich nach dem Kennwort gefragt. Sobald ich aber irgendein weiteres Argument hinzufüge, in welcher Syntax auch immer, auch wenn es nur ein schnödes -x ist, kommt sofort die Meldung: dgst: Can only sign or verify one file. Wenn der Schnaps demnächst nach Eisen schmeckt, nicht wundern, ich hab die Flinte in den Korn geworfen... Trotzdem besten Dank Matthias
  3. Signaturdatei mit openssl als Batch

    Hmpf... auch mit der Variable hat es nicht geklappt.... :( Aber ich schau mir am Wochenende noch mal die Optionen von openssl an. Unter https://github.com scheint es auch eine Art Forum für openssl zu geben. Vielleicht finde ich da was... Euch schon mal ein schönes Wochenende Matthias
  4. Signaturdatei mit openssl als Batch

    Ich glaub ich gebe auf. Ich habe gelesen, das Microsoft nun endlich die Funktion Strg+C und V in die cmd.exe und Powershell eingebaut hat. Zumindest bei Windows 10 und Server 2016. Dann drück ich halt 1000 mal Strg+V und Enter, aber immerhin besser als 1000 mal das Kennwort einzugeben. Aber das Powershell-Video werde ich mir auf jeden Fall mal anschauen. Vielleicht werde ich ja noch warm damit :) Viele Grüße und Danke für die Hilfe Matthias Hallo Testperson, danke für den Hinweis, wieder was gelernt. Damit passt zwar nun die Signaturdatei, aber es ändert leider nichts an der Tatsache, das ich für jede XML-Datei das Kennwort eingeben muss :( Wie gesagt, unter Windows 10 kann ich das Kennwort zumindest mit Strg+V eingeben...
  5. Signaturdatei mit openssl als Batch

    Hab ich gleich mal getestet: Es kommt zwar keine Fehlermeldung mehr und die Signatur-Datei hat jetzt einen Inhalt, heißt aber nach wie vor Testdatei.sig anstatt Testdatei.xml.sig. Aber das ist nicht so tragisch. Es funktioniert halt nach wie vor nur ohne -passin pass:Kennwort und einer manuellen Eingabe des Kennwortes. Ich glaube fast, das openssl bzw. der Schalter -passin gar nicht dafür ausgelegt ist, um das Zertifikatskennwort automatisiert angeben zu können. Denn das ist das gleiche wie bei meiner for-Schleife in der Batchdatei...
  6. Signaturdatei mit openssl als Batch

    Guten Morgen, hier noch einmal der Code: $SourcePath = 'C:\Test\Signaturdateien\' $CertFile = 'C:\Test\Signaturdateien\Zertifikat.pem' Get-ChildItem -Path $SourcePath -Filter *.xml | ForEach-Object { $outfile = $_.BaseName + '.sig' Start-Process -FilePath c:\test\signaturdateien\openssl.exe -ArgumentList "dgst -sha512 -binary -out $outfile -sign $CertFile $_.FullName -passin pass:""Kennwort""" -wait -nonewwindow } Als Ausgabe kommt die oben genannte Meldung: dgst: Can only sign or verify on file. Wenn ich den Passus -passin pass:""Kennwort"" komplett herausnehme, werde ich nach einem Kennwort für das Zertifikat gefragt. Nach Eingabe des Kennwortes kommt allerdings die Meldung: Testdatei.xml.FullName: No such file or directory Es wird dann eine Testdatei.sig erstellt, die aber leer ist. Erst wenn ich den richtigen Dateinamen in das Script schreibe... Start-Process -FilePath c:\test\signaturdateien\openssl.exe -ArgumentList "dgst -sha512 -binary -out Testdatei.xml.sig -sign $CertFile Testdatei.xml" -wait -nonewwindow ... wird eine Testdatei.xml.sig mit Inhalt erstellt. Aber auch wieder erst nach Eingabe eines Kennwortes. Grüße Matthias
  7. Signaturdatei mit openssl als Batch

    Ich fürchte ich muss mir das wirklich irgendwann mal zur Gemüte führen. Wahrscheinlich mal an einem Wochenende. Denn selbst in der Zeit, in der ich gerade deinen Text gelesen hab, war der Vorstand bei mir, weil die Mails nicht schnell genug auf seinem Blackberry landen und ein anderer mit Papierstau im MFP 2 Etagen über mir. Ich kann manchmal froh sein, wenn ich mal 30 min konzentriert an einer Sache arbeiten kann. Aber ich will auch nicht jammern oder mich beklagen, sind alles liebe Kollegen ;) Aber zurück zum Script... Ich hab also den ganzen Pfad der OpenSSL.exe angegeben und auch die beiden Schalter angehangen. Nun sieht man auch was gemacht wird. Leider kommt wieder die altbekannte Meldung: dgst: Can only sign or verify one file. Ich denke das wird mit dem Schalter -passin zusammenhängen. Das Problem hatte ich schon in der Batchdatei. Dann wird es wohl kein generelles Problem mit Batch oder Powershell sein, sondern eher ein Problem mit openssl....
  8. Signaturdatei mit openssl als Batch

    Grundsätzlich hast du natürlich recht, das immer mehr mit Powershell gemacht wird. Leider, ich gestehe, ich bin eingefleischter Mausschubser und finde Powershell zum... übergeben, sorry. Ich finde da echt keinen Draht hin. Aber auch Grundlagen (selbst wenn ich sie hätte) verblassen, wenn man einmal im Jahr ein kleines Script braucht. Eine Batchdatei ist für mich halbwegs nachvollziehbar, Powershell ist für mich ein Sack voll Hieroglyphen und bin da völlig überfordert. Wenn du noch etwas Geduld mit mir hast würde ich gern noch einmal zu deinem Script zurückkommen. Nachdem die Hochkommata eingefügt sind kommt zumindest keine Fehlermeldung mehr. Es erscheint nur ganz kurz ein Konsolenfenster. Allerdings wird auch keine Signaturdatei erstellt. Ich hab mal versucht mit > Output.txt eine Ursache zu finden, aber die Datei bleibt leider leer. Wäre auch zu einfach gewesen ;) Gibt es da andere Möglichkeiten herauszufinden, wo es klemmt?
  9. Signaturdatei mit openssl als Batch

    Hallo BOfH_666, es knirschelt noch etwas. Mit dem SourcePath scheint etwas nicht zu stimmen und das Script will das Zertifikat öffnen und fragt nach einem entsprechenden Programm... siehe Screenshot
  10. Signaturdatei mit openssl als Batch

    Hmm, so richtig klappt es mit dem Script aus dem oben genannten Link nicht. Hier noch einmal das Script: @echo off Rem placeholder for cert-file set cert="" for %%g in (*.pem) do ( echo "Certificate found: " %%g set cert=%%g Rem exit loop as we found a cert-file goto :SignFiles ) echo "No cert file found" exit :SignFiles Rem Ask user for Cert-Password set /p password="Please input cert-password: " Rem debug echo %password% Rem sign all xml-files in directory for %%g in (*.xml) do ( echo "Sign XML-File: " %%g Rem sign file and pass saved password for signing openssl dgst -binary -sha512 -out %%g.sig -sign=%cert% %%g < %password% ) pause exit Das Zertifikat wird gefunden und möchte das Kennwort haben. Soweit so gut. Danach kommt die Meldung: Das System kann die angegebene Datei nicht finden. -> Das Problem hatte der User im Link von BOfH_666 (siehe oben) auch gehabt. Mit den Antworten in dem Forum komme ich nicht zurecht: You need to echo %password%| openssl..., that is the redirector should be pipe. Using < expects a file named %password% which probably doesn't exist, so the error messsage you report is generated. After I changed the openssl command to correctly pass the password via -passin parameter it works. Thanks for helping me by showing my syntax errors! Mit dem -passin Parameter hatte ich es auch schon probiert. Da kommt allerdings die Meldung: dgst: Can only sign or verify one file. Und das mit dem "echo %password%| openssl... " hab ich gar nicht verstanden. Hat noch jemand eine Idee?? Grüße Matthias
  11. Signaturdatei mit openssl als Batch

    Ich werd verrückt, da hat doch jemand genau mein Problem.... wieso hab ich das nicht gefunden??? Mein Google muss kaputt sein... Ich schau mir das morgen früh mal in Ruhe an, momentan ist es etwas stressig...
  12. Signaturdatei mit openssl als Batch

    Hallo Nils, mach ich gerne. Also: Ich hab hier die besagten 1097 XML-Dateien, die zum BZSt (Bundeszentralamt für Steuern) hochgeladen werden müssen. Das BZSt schreibt vor, das zu jeder XML-Datei eine Signaturdatei erzeugt und mit hochgeladen werden muss. Die Signaturdatei soll mit dem gleichen PEM-Zertifikat erzeugt werden, mit dem wir uns auch am online-Portal vom BZSt anmelden. Ich denke mal, das BZSt nutzt die Signaturdatei als Sicherheit zur Verifizierung der Dateien. Als Tool wird vom BZSt das OpenSSL Commandline-Tool vorgeschlagen. Mit einer einzelnen Datei funktioniert das in der Dos-Box auch prima. Man gibt openssl mit allen Parametern ein (siehe oben), gibt danach nach Aufforderung das Kennwort für das PEM-Zertifikat ein, die Sig-Datei wird erzeugt, fertig. Bei über 1000 Dateien wird das ganze recht eintönig... Deshalb war meine Frage, ob jemand einen Trick kennt, um das Kennwort mit in diesen Befehl zu packen. Es muss ja auch nicht unbedingt OpenSSL sein. Vielleicht gibt es auch andere Tools, die das können.... Die zweite Frage wäre, wie eine Schleife aussehen könnte, das für alle Dateien nacheinander eine Signatur erstellt wird... Grüße Matthias
  13. Hallo Zusammen, mir wachsen gerade graue Haare, ich hoffe ihr könnt mir helfen... Ich habe hier XML-Dateien, für die ich jeweils eine Signatur-Datei mittels einem PEM-Zertifikat mit openssl erstellen muss. Mit openssl dgst -sha512 -binary -out <Dateiname-mit-Suffix>.sig -sign Zertifikat.pem <Dateiname-mit-Suffix> geht das auch prima. Man wird nach der Pass-Phrase gefragt und nach Eingabe des Kennwortes wird die Signaturdatei erstellt. Nun hab ich aber 1097 XML-Dateien und zukünftig werden täglich Dateien erzeugt, die genauso bearbeitet werden müssen. Mir tun bei dem Gedanken jetzt schon die Finger weh, deshalb würde ich das gern automatisieren. Gibt es die Möglichkeit das Kennwort für die Pass-Phrase dort mit einzubauen? In den Howto's zu OpenSSL hab ich jedenfalls nichts gefunden. Hat da schon jemand Erfahrungen mit? Das Kennwort aus dem Zertifikat entfernen wird wahrscheinlich nicht gehen, weil es dann nicht mehr in der Gegenstelle (BZSt) verifiziert werden kann. Und wenn ja, wie könnte ein Script aussehen, das nach und nach alle 1097 Dateien aus dem Verzeichnis mit einer Signaturdatei versieht? Ich denke da an eine for-Schleife, hab aber wenig Erfahrungen damit... Grüße Matthias
  14. Hallo Zusammen, ich hab hier ein komisches Phänomen in meiner Umgebung, da bin ich mir nicht sicher, ob das ein Einstellungsproblem ist oder ein Bug. Ein Mitarbeiter ist zufällig darauf gestoßen und ich hab es in einer ruhigen Minute mal ausgetestet. Ist zumindest in unserer Umgebung auf jedem Client reproduzierbar. Meine Umgebung ist ein Exchange 2016 CU10 unter Windows Server 2016 und Outlook 2016 im Cache-Modus als Clients. Eins vorweg, der Exchange läuft ansonsten normal und es gibt soweit keine Probleme. Hier das Szenario: Wenn Outlook gestartet ist, egal ob im Online- oder im Cache-Modus, und es wird aus einer "anderen" Anwendung eine Mail verschickt, z. B. aus dem Adobe Reader "Datei als E-Mail-Anhang versenden" oder Rechtsklick auf eine Datei -> Senden an -> E-Mail-Empfänger, dann geht eine neue Outlook-Mail auf mit den entsprechenden Anhang, Empfänger eingegeben, Mail wird verschickt. Alles ganz normal. Wenn Outlook NICHT gestartet ist und im Online-Modus eingerichtet ist, passiert das gleiche. Alles normal. Sobald Outlook dann wieder gestartet ist wird die Mail in den gesendeten Elementen angezeigt. Wenn Outlook allerdings NICHT gestartet und im Cache-Modus eingerichtet ist, dann landet die Mail im Postausgang, wird aber nicht verschickt, egal was ich anstelle. Ich kann sie lediglich löschen. Der Absender wird aber unter "gelöschte Elemente" auch nicht richtig angezeigt/aufgelöst. Screenshot Outlook-gestartet.jpg -> so sieht es normal aus Screenshot Outlook-geschlossen.jpg -> so sieht es aus, wenn Outlook nicht gestartet ist und eine Mail geschickt wird Mir ist das bis jetzt noch nie aufgefallen, weil Outlook bei mir das erste ist was ich starte, sobald ich meine Büchse mal neu starte und quasi immer gestartet ist. Wahrscheinlich auch 90 % der PC-Benutzer, die hauptsächlich per Mail kommunizieren. Kennt jemand das Phänomen? Es ist nichts dramatisches. Wenn es keine Lösung gibt ist es auch nicht schlimm. Ich hab dem Kollegen gesagt, er soll halt erst Outlook öffnen, bevor er irgendwelche Mails verschickt. Ist aber trotzdem komisch, das die Mails zwar im Postausgang landen, aber dort dann versauern... Viele Grüße Matthias
  15. Öffentliche Ordner lassen sich nicht erweitern

    Hallo zusammen, ich hatte gestern mal wieder Gelegenheit mich um diese blöde Geschichte mit den öffentlichen Ordnern zu kümmern. Ich hab bei zwei der drei betroffenen Mitarbeitern das Outlook-Profil gelöscht und nach einem Neustart wieder frisch angelegt. Und siehe da, alles geht.... aber ich hab keine Ahnung warum.... Genau das gleiche Spielchen hab ich schon 3 mal genauso durchexerziert, Allerdings war das noch vor der Installation vom CU10. Das CU10 hat anscheinend doch irgendwas gerade gerückt, was vorher geklemmt hat. Der dritte Mitarbeiter ist noch im Urlaub. Aber wenn der nächste Woche wieder da ist leg ich bei ihm auch das Outlook-Profil neu an. Das Thema sollte dann vom Tisch sein. Die Event-Fehler 7031 und 7034 , die ich seit dem CU10 hab, machen mir noch etwas Sorgen. Auch der instabile VSS Exchange Writer. Vielleicht regelt das später das CU11 :) Grüße und Danke für die Hilfe Matthias
×