Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vba code digital signieren

vba code digital signieren
20.11.2021 22:02:38
Timm
Guten Abend zusammen,
habe eine Exceldatei bzw. den VBA-Code digital signiert. Das entsprechende Zertifikat habe ich wie folgt erstellt:
C:\Programme\Microsoft Office\\, dann "selfcert.exe usw."
Leider lässt sich der private Schlüssel nicht exportieren.
Meine Recherche (Link: https://blog.thul.org/technik/anwendungen/vba-makros-selbstsigniert/) ergab, dass hierfür "makecert.exe" benötigt wird. Habe dann das Windows Software Development Kit (SDK) heruntergeladen und die Datei auch gefunden(Link: https://docs.microsoft.com/de-de/windows/win32/seccrypto/makecert). Leider öffnet sich die Anwendung nicht. Es erscheint lediglich für 1sec. die Eingabeaufforderung und dann passiert nichts.
Weiß jemand woran es liegen könnte (Betriebssystem ist Windows 8.1)?
Gruß
Timm

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba code digital signieren
21.11.2021 20:32:00
Timm
Niemand eine Idee?
AW: vba code digital signieren
22.11.2021 18:29:53
ChrisL
Hi Timm
Ich denke in anderen Foren (weniger VBA, mehr Certi) wärst du besser aufgehoben. Ausser dem nachfolgenden Schubser kann ich dich nicht unterstützen, weil ich selber keine Ahnung vom Thema habe.
Also... ich vermute stark, dass sich die Anwendung gar nicht öffnen soll. Ich denke man sollte eine Befehlszeile mit Optionen/Parameter abschicken, um den Prozess zu starten. Wenn du bei Windows Start "cmd" eintippst, dann erhältst du die Eingabeaufforderung für die Befehlszeile.
Die Frage ist, was man da genau eintippen muss. Hierzu muss man die Spezifikationen (erster Link) ganz genau lesen und testen bzw. den Anleitungen folgen (zweiter Link).
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-2.0/bfsktky3(v=vs.80)
https://blog.jayway.com/2014/09/03/creating-self-signed-certificates-with-makecert-exe-for-development/
Erstmal ein langer Weg ohne überhaupt an Excel zu denken. Wenn die manuelle Lösung funktioniert, kann man darüber nachdenken die *.cmd Datei via Excel-VBA zu starten bzw. mittels Shell() eine Befehlszeile abzuschicken.
cu
Chris
Anzeige
AW: vba code digital signieren
22.11.2021 18:39:29
Timm
Hallo Chris,
vielen Dank für deine Antwort und die Zeit, die du dir genommen hast.
Vielleicht denke ich ja auch zu kompliziert.
Was ich erreichen möchte ist schlichtweg eine Manipulation an meinem VBA-code zu entlarven. Dabei bin ich dann auf ein digitales Zertifikat gestoßen, welches ja nicht mehr vorhanden ist wenn manipuliert wird.
Vielleicht gibt es ja eine viel pragmatischere Lösung. Lasse den Thread nochmal offen.
Gruß Timm
AW: vba code digital signieren
22.11.2021 18:55:38
ChrisL
Hi Timm
Ein simpler VBA-Projekt Schutz ist mir persönlich (un-)sicher genug.
Das Certi in dieser Form ist ja auch nur für interne Zwecke bestimmt. Wenn jemand intern genügend Motivation hat, um den PW-Schutz zu knacken, dann hat er vielleicht auch genügend Energie, um dein Zertifikat zu klauen (im Haus ist er ja schon).
Womöglich bin ich einfach zu entspannt bei diesen Themen oder es fehlt mir die Phantasie für das böse Manipulationsszenario (woran hast du gedacht?).
(Dass man bösartige Befehle in ein Makro packen kann ist mir schon klar, aber dies kann dir ja auch bei jeder anderen Makro-Datei passieren.)
cu
Chris
Anzeige
AW: vba code digital signieren
22.11.2021 19:12:15
Timm
Hallo Chris,
mir geht's es darum nachweisen zu können wenn in meinem erstellten VBA-Code jemand herumspielt und anschließend behauptet ich hätte falsch programmiert.
Gruß Timm
AW: vba code digital signieren
22.11.2021 21:41:53
ChrisL
Hi Timm
Könntest du nicht einfach den VBA-Code als PDF drucken und aufbewahren. Damit kannst du die geänderte Codezeile aufzeigen. Sollte doch für "intern" reichen.
Ich denke für "extern" würde man ein vertrauenswürdiges (trusted) Zertifikat nehmen.
Normally most companies would just buy their certificates from a trusted third party certificate authority such as xxx or yyy, but for development and testing, this might not be the first thing one wants to do. Instead you can create your own self signed certificates, starting with...
Selbst gebasteltes Zerti ist demnach nur für Entwicklung/Testing geeignet. Nach meinem Verständnis wäre das Zerti ungültig, sobald du es extern raus schickst.
cu
Chris
Anzeige
AW: vba code digital signieren
22.11.2021 22:20:54
Timm
Hallo Chris,
okay dann werde ich mich wohl näher mit offiziellen Zertifikaten beschäftigen :-).
Danke für deine Hilfestellung.
Gruß Timm
AW: vba code digital signieren
23.11.2021 13:18:48
Yal
Hallo Timm,
das ist eben das Problem, dass ein gute Zertifikat von einer anerkannten Zertifizierungstelle kommen muss, um etwas beweisen zu können (und die lassen sich dafür bezahlen).
Es kann sonst mit makecert jeder ein Certi aufstellen und Du kannst nicht den Verdacht aus dem Weg räumen, dass es nicht von Dir stimmt (Siehe Public Key Infrastructure).
VG
Yal
AW: vba code digital signieren
23.11.2021 21:05:03
Timm
Hallo Yal,
hallo zusammen
ja, dass stimmt natürlich. Kennt jemand denn eine günstige Quelle für solch ein Zertifikat? Gibt ja gravierende Unterschiede.
Gruß Timm
Anzeige
AW: vba code digital signieren
24.11.2021 18:26:51
Timm
Hallo Yal,
hatte schon ganz vergessen, dass Mumpel es damals es bereits erwähnt hatte.
Vielen Dank für das Heraussuchen.
Auf was greifst du denn zurück um zu beweisen, dass der Programmcode aus deiner Feder stammt wenn er extern geht?
Gruß Timm
Anzeige
AW: vba code digital signieren
24.11.2021 21:04:47
Yal
Hallo Timm,
Da wärst Du auf den Seiten von MS verlässiger informiert.
Es ist so, dass Du Excel-Sicherheit so einstufen, dass nur signierte Code ausgeführt werden darf. Dann muss dein Zertifikat auf dem Rechner hochgeladen werden. In diesem Zertifikat ist sichtbar, dass es von DTrust stamm. Also DTrust bestätigt, dass Du der Mitherausgeber der Zertifikat. Diese Zertifikat wird verwendet, um die Signatur des Codes zu bestätigen.
Die Signatur selbst passt zum Code und wird auch anhand des Zertifikats erzeugt. Ist der Code verändert worden, passt die Signatur nicht mehr. Da merkt Excel schon, dass die Signatur ungültig ist. Normalerweise sollte damit die Ausführung des Codes von Excel geweigert werden.
Natürlich man könnte selber sein eigenes Code verunstalten und mit MakeCert signieren. Dann gibt es zwar eine gültige Signatur, die aber nicht mehr mit deiner Zertifikat validiert wird. Also nicht von dir. Und normalerweise auch nicht von Excel ausgeführt.
Kritisch ist, dass dein Zertifikat nur 3 Jahre gültig ist. Danach musst Du eine Folgezertifikat deinen Kunden liefern, sodass die Signatur weiter akzeptiert wird. Hier gibt es nicht die Meldung Zertifikat ungültig sondern Zertifikat abgelaufen.
VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige