In diesem Artikel wird beschrieben, wie Sie eine Makroprojekt unter Windows mithilfe eines Zertifikat digital signieren können. Wenn Sie noch nicht über ein digitales Zertifikat verfügen, müssen Sie eines erhalten.
Tipp: Um Makroprojekte auf Ihrem eigenen Computer zu verwenden oder zu testen, können Sie mit dem Tool Selfcert.exe Ein eigenes Selbstsignaturzertifikat erstellen. Weitere Informationen hierzu finden Sie unten.
Abrufen eines digitalen Zertifikats
Sie können ein digitales Zertifikat von einer kommerziellen Zertifizierungsstelle (ZS), von Ihrem internen Sicherheitsadministrator oder it-Experten (Information Technology, IT) erhalten.
Weitere Informationen zu Zertifizierungsstellen, die Dienste für Microsoft-Produkte anbieten, finden Sie in der Liste der Mitglieder des Microsoft-Stammzertifikatprogramms.
Da ein von Ihnen erstelltes digitales Zertifikat nicht von einer offiziellen Zertifizierungsstelle vergeben wurde, werden mit einem solchen Zertifikat signierte Makroprojekte als selbst signierte Projekte bezeichnet. Microsoft Office vertraut einem selbst signierten Zertifikat nur auf einem Computer, auf dem dieses Zertifikat dem Ordner für vertrauenswürdige Stammzertifizierung im Speicher "Zertifikate - Aktueller Benutzer" hinzugefügt wurde. Dies macht es gut zum Testen oder Verwenden auf Ihrem eigenen Computer oder einer sehr kleinen Anzahl von Computern, die Sie verwalten, aber nicht sehr gut für die Verteilung von Makroprojekten an andere Personen.
Erstellen eines selbst signierten Zertifikats
- Welche Windows-Version verwenden Sie?
- Windows 10 oder neuer
- Windows 8
-
Wechseln Sie zu C:\Programme (x86)\Microsoft Office\root\Office16.
Tipp: Wenn Sie es in diesem Ordner nicht finden, versuchen Sie es mit C:\Programme\Microsoft Office\root\Office16.
-
Klicken Sie auf SelfCert.exe. Das Feld Digitales Zertifikat erstellen wird angezeigt.
-
Geben Sie im Feld Ihr Zertifikatsname einen beschreibenden Namen für das Zertifikat ein.
-
Klicken Sie auf OK.
-
Klicken Sie auf OK, wenn die Meldung "SelfCert erfolgreich" angezeigt wird.
-
Navigieren Sie zu C:\Programme\Microsoft Office\<Office-Version>\.
-
Klicken Sie auf SelfCert.exe. Das Feld Digitales Zertifikat erstellen wird angezeigt.
-
Geben Sie im Feld Ihr Zertifikatsname einen beschreibenden Namen für das Zertifikat ein.
-
Klicken Sie auf OK.
-
Klicken Sie auf OK, wenn die Meldung "SelfCert erfolgreich" angezeigt wird.
Anzeigen des Zertifikats im Persönlichen Zertifikatspeicher
-
Öffnen Sie Microsoft Edge.
-
Geben Sie edge://settings/privacy in die Adressleiste ein.
-
Scrollen Sie nach unten zum Abschnitt Sicherheit , und wählen Sie Zertifikate verwalten aus.
Digitales Signieren eines VBA-Makroprojekts in Excel, PowerPoint, Publisher, Visio, Outlook oder Word
-
Öffnen Sie die Datei, die das zu signierende Makroprojekt enthält.
-
Klicken Sie auf der Registerkarte Entwicklertools in der Gruppe Code auf Visual Basic.
Hinweis: Wenn die Registerkarte "Entwicklertools" nicht verfügbar ist: Klicken Sie auf die Registerkarte Datei. Klicken Sie auf Optionen. Klicken Sie auf Menüband anpassen. Klicken Sie in der Liste Menüband anpassen auf Entwicklertools, und klicken Sie dann auf OK.
-
Klicken Sie in Visual Basic im Menü Extras auf Digitale Signatur.
-
Das Dialogfeld Digitale Signatur wird angezeigt.
-
Wählen Sie ein Zertifikat aus, und klicken Sie auf OK.
Hinweis: Wenn Sie noch kein digitales Zertifikat ausgewählt haben oder ein anderes Zertifikat verwenden möchten, klicken Sie auf Wählen. Wählen Sie ein Zertifikat aus, und klicken Sie auf OK.
Hinzufügen eines Zeitstempels zu Ihrer Signatur
Wenn Benutzer Ihr VBA-Makro ausführen, überprüft Office die Signatur und das Zertifikat, mit dem es signiert wurde. Das Hinzufügen eines Zeitstempels zu Ihrer Signatur bedeutet, dass Ihr Makro auch nach Ablauf des Zertifikats weiterhin als signiert behandelt wird, solange das Zertifikat nicht widerrufen wird. Dadurch können Unterbrechungen für die Benutzer reduziert werden.
Ein Zertifikat, das nur abgelaufen ist, kann weiterhin zum Überprüfen von Code verwendet werden, es kann einfach nicht zum Signieren von neuem Code verwendet werden.
Um einen Zeitstempel hinzuzufügen, müssen Sie Ihrer Registrierung drei Schlüssel hinzufügen.
Achtung: Durch eine falsche Bearbeitung der Registrierung kann das System schwer beschädigt werden. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie wichtige Daten auf dem Computer sichern.
Taste |
Typ |
Beschreibung |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
Die URL Ihres bevorzugten Zeitstempelservers. (Erforderlich) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Gibt an, wie oft der Visual Basic-Editor versucht, eine Verbindung mit dem Zeitstempelserver herzustellen, bevor ein Fehler auftritt. (Optional : Wenn Sie dies nicht festlegen, versucht der Visual Basic-Editor nur einmal, den Server zu kontaktieren.) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Die Anzahl der Sekunden (in Millisekunden), die der Visual Basic-Editor zwischen dem erneuten Versuch wartet, eine Verbindung mit dem Zeitstempelserver herzustellen. (Optional : Wenn Sie dies nicht festlegen, kommt es zu keiner Verzögerung zwischen Wiederholungen.) |
Nachdem Sie einen funktionierenden TimeStampURL-Eintrag hinzugefügt haben, fügt der Visual Basic-Editor automatisch einen Zeitstempel hinzu, wenn Sie ein Makro digital signieren.
Zusätzliche Hinweise
-
Es wird empfohlen, Makros erst zu signieren, nachdem Ihre Lösung getestet und für die Verteilung bereit ist: Wenn Code in einem signierten Makroprojekt auf irgendeine Weise geändert wird, wird die digitale Signatur entfernt. Wenn Sie jedoch über das gültige digitale Zertifikat verfügen, das zuvor zum Signieren des Projekts auf Ihrem Computer verwendet wurde, wird das Makroprojekt beim Speichern automatisch erneut signiert.
-
Wenn Sie verhindern möchten, dass Benutzer Ihrer Lösung Ihr Makroprojekt versehentlich ändern und damit Ihre Signatur ungültig machen, sperren Sie das Makroprojekt, bevor Sie es signieren. Die digitale Signatur impliziert, dass Sie garantieren, dass das Projekt seit der Signierung nicht geändert wurde. Die digitale Signatur beweist nicht, dass Sie das Projekt geschrieben haben. Dementsprechend schützt Sie das Sperren Ihres Makroprojekts nicht davor, dass ein anderer Benutzer die digitale Signatur durch eine andere Signatur ersetzt. Administratoren eines Unternehmens können Vorlagen und Add-Ins neu signieren und auf diese Weise steuern, was Benutzer auf den Computern ausführen.
-
Wenn Sie ein Add-In erstellen, das einem Makroprojekt Code hinzufügt, sollte Ihr Code überprüfen, ob das Projekt digital signiert ist. Darüber hinaus sollten die Benutzer vor dem Fortfahren auf die Konsequenzen hingewiesen werden, welche die Veränderung eines signierten Projekts nach sich ziehen kann.
Weitere Informationen
Aktivieren oder Deaktivieren von Makros in Microsoft 365-Dateien