staybb
Goto Top

Office Makro-Dateien mit Zertifikat von eigener CA signieren

Hallo zusammen,

wir rollen gerade neue Clients aus und haben die GPO Einstellungen für Office 2016 angepasst. So sollen in Zukunft nur noch Office Dateien mit Makros mit einem gültigen signierten Zertifikat ausführbar sein.
Wir haben zudem eine neue CA aufgesetzt auf einem Windows Server 2019 über den wir nun neue Zertifikate ausstellen können.
Ich habe bereits in der Certification Authority ein Template mit Code Signing für die Office Makro Signierung erstellt.

Ich kann mit meinem Benutzer auch ein neues Zertifikat anfordern über das Template und der CA und habe bereits ein Zertifikat für mich für die Makro Signierung ausgestellt.
Der Vorgang ist hier auch nochmal beschrieben:
https://www.altaro.com/hyper-v/request-ssl-windows-certificate-server/

Jetzt habe ich mal ein Excel file mit Makros genommen und wollte über den VisualBasic Editor die Datei mit dem neu ausgestellten Code Signing Zertifikat signieren.

Allerdings wird mir dieses Zertifikat nicht zur Auswahl angezeigt wenn ich im VB Editor über "Extras -> Digitale Signatur.." auf "Wählen..." klicke.

Es kommt dann folgende Fehlermeldung:
"Es sind keine verwendbaren Singnaturzertifikate verfügbar. Stecken Sie Ihre Smartcard ein, oder wenden Sie sich an den Administrator, um ein Signaturzertifikat zu erhalten."
zertifikat

Ich habe dann etwas gegoogled und bin auf folgenden Eintrag gestossen:
https://social.msdn.microsoft.com/Forums/office/en-US/af61b381-5631-437d ...

Also habe ich das Zertifikat zusätzlich neben meinem Zertifikatspool unter Eigene Zertifikat, noch zusätzlich über die Internet Optionen unter "Vertrauenswürdige Herausgeber" hinzugefügt.

Es kommt im VB Editor dann aber immer noch die gleiche Meldung, dass anscheinend kein Zertifiakt für die Signierung vorhanden sei.

Dann habe ich es noch über das eigene Zertifikatstool von Office probiert und mir ein Zertifikat mittels dem Tool SelfCert.exe, welches im Programverzeichnis von Office liegt, erstellt.
Anleitung dazu: https://www.howto-outlook.com/howto/selfcert.htm

Dieses konnte ich dann im VB Editor dann auch auswählen und er hat es mir vorgeschlagen als ich auf "Extras -> Digitale Signatur.." auf "Wählen..." geklickt habe.
Ich konnte die Datei auch mit dem Zertifikat signieren und ich kann damit die Makro Inhalte im Dokument öffnen.

Allerdings möchte ich nicht dieses Zertifikat für die Signierung nutzen, sondern das von unserer eigenen CA, da auch das Zertifikat von Office selbst als unvertrauenswürdig angezeigt wird.

Wisst ihr was ich da noch machen muss damit ich mein Zertifikat für die Signierung auswählen und nutzen kann?

Danke vorab und Grüsse
staybb

Content-Key: 556507

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

Printed on: May 5, 2024 at 02:05 o'clock

Member: NetzwerkDude
NetzwerkDude Mar 11, 2020 updated at 15:39:43 (UTC)
Goto Top
Dazu vorweg:
Wenn du mit dem selbstausgestellten Zertifikat Makros signiert hat, und die dannach ausführbar waren, stimmt was mit der GPO nicht - weil der Gag ist ja das man gerade sowas verhindern will face-smile

Zu deinem Zert:
Bekommst du eine Ausgabe von dem Powershell befehl?
Get-ChildItem cert:\ -Recurse -CodeSigningCert
Member: staybb
staybb Mar 11, 2020 at 15:51:58 (UTC)
Goto Top
Zitat von @NetzwerkDude:

Dazu vorweg:
Wenn du mit dem selbstausgestellten Zertifikat Makros signiert hat, und die dannach ausführbar waren, stimmt was mit der GPO nicht - weil der Gag ist ja das man gerade sowas verhindern will face-smile

Ja das stimmt, ich weiss nicht ob es noch zusätzlich eine Einstellung gibt welche abhängig davon prüft wenn die Datei mit einem Zertifikat signiert ist, zusätzlich geprüft wird ob das Zertifikat auch von einem vertrauenswürdigen Herausgeber stammt.


Zu deinem Zert:
Bekommst du eine Ausgabe von dem Powershell befehl?
Get-ChildItem cert:\ -Recurse -CodeSigningCert

Der Befehl liefert mir keine Ausgabe.

Kann ich das Zertifikat vielleicht über die Powershell an die Richtige Stammzertifizierungsstelle importieren, sodass auch eine korrekte Ausgabe angezeigt wird?
Member: NetzwerkDude
NetzwerkDude Mar 11, 2020 at 15:57:21 (UTC)
Goto Top
Zu der GPO:
Soweit ich weiß nicht, die Einstellung "nur signierte" = "nur von vertrauenswürdigen signiert"

Zum Befehl:
Der befehl zeigt dir lediglich alle Zertifikate in deinem speicher an die vom typ Codesignierungszertifikat sind - und wenn keine Ausgabe = keine Zertifikate.

Kann ich das Zertifikat vielleicht über die Powershell an die Richtige Stammzertifizierungsstelle importieren
Verstehe nicht was du damit meinst
Member: staybb
staybb Mar 11, 2020 at 16:14:33 (UTC)
Goto Top
Zitat von @NetzwerkDude:

Zu der GPO:
Soweit ich weiß nicht, die Einstellung "nur signierte" = "nur von vertrauenswürdigen signiert"

Ok, dann überprüfe ich das nochmal.

Zum Befehl:
Der befehl zeigt dir lediglich alle Zertifikate in deinem speicher an die vom typ Codesignierungszertifikat sind - und wenn keine Ausgabe = keine Zertifikate.
Komisch, wenn ich in meinem Zertifikatsstore über die GUI nachsehe sind die Zertifikate mit dem Wert CodeSigning vorhanden.
Aber das sie nicht angezeigt werden über die Powershell verstehe ich nicht.

Daher auch meine Frage zu:


Kann ich das Zertifikat vielleicht über die Powershell an die Richtige Stammzertifizierungsstelle importieren
Verstehe nicht was du damit meinst

Ich muss doch die Zertifikate irgendwie richtig in meinen Zertifikatspool bekommen, sodass diese ausgegeben werden.

Hat noch jemand ne Idee?
Member: staybb
staybb Mar 24, 2020 at 10:13:14 (UTC)
Goto Top
Mit der Anleitung hat es dann schlussendlich funtkioniert:

https://tech.zsoldier.com/2012/06/get-powershell-code-signing-cert-from. ...