Digitales Signieren Ihres VBA-Makroprojekts

Gilt für
Excel für Microsoft 365 Word für Microsoft 365 Outlook für Microsoft 365 PowerPoint for Microsoft 365 Publisher für Microsoft 365 Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Publisher 2021 Visio Professional 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professional 2016 Visio Standard 2016 Visio Professional 2013

In diesem Artikel wird beschrieben, wie Sie ein Makroprojekt unter Windows mithilfe eines Zertifikats 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 mithilfe des tools 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 ( CA), von Ihrem internen Sicherheitsadministrator oder it-Experten (InformationStechnologie) erhalten.

Weitere Informationen zu Zertifizierungsstellen, die Dienste für Microsoft-Produkte anbieten, finden Sie in der Liste der Mitglieder des Microsoft-Stammzertifikatprogramms.

Verwenden eines selbstsignierten Zertifikats

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 selbstsignierten Zertifikat nur auf einem Computer, auf dem das Selbstsignaturzertifikat dem Ordner 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

  1. Wechseln Sie zu C:\Program Files (x86)\Microsoft Office\root\Office16.

    Tipp

    Wenn Sie es in diesem Ordner nicht finden, versuchen Sie es mit C:\Program Files\Microsoft Office\root\Office16.

  2. Klicken Sie auf SelfCert.exe. Das Feld Digitales Zertifikat erstellen wird angezeigt.

  3. Geben Sie im Feld Ihr Zertifikatsname einen beschreibenden Namen für das Zertifikat ein.

  4. Klicken Sie auf OK.

  5. Klicken Sie auf OK, wenn die Meldung "SelfCert erfolgreich" angezeigt wird.

Windows 8

  1. Wechseln Sie zu C:\Program Files\Microsoft Office\<Office version>\.
  2. Klicken Sie auf SelfCert.exe. Das Feld Digitales Zertifikat erstellen wird angezeigt.
  3. Geben Sie im Feld Ihr Zertifikatsname einen beschreibenden Namen für das Zertifikat ein.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf OK, wenn die Meldung "SelfCert erfolgreich" angezeigt wird.

Anzeigen des Zertifikats im Persönlichen Zertifikatspeicher

  1. Öffnen Sie Microsoft Edge.
  2. Geben Sie edge://settings/privacy in die Adressleiste ein.
  3. 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

  1. Öffnen Sie die Datei, die das zu signierende Makroprojekt enthält.

  2. 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.

  3. Klicken Sie in Visual Basic im Menü Extras auf Digitale Signatur.

  4. Das Dialogfeld Digitale Signatur wird angezeigt.

  5. 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 weiterhin als signiert behandelt wird, auch wenn ihr Zertifikat abgelaufen ist, 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.

Vorsicht

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.

Weitere 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.
  • Eine Möglichkeit, benutzer daran zu hindern, ihr Makroprojekt versehentlich zu ändern und Ihre Signatur für ungültig zu erklären, besteht darin, das Makroprojekt vor dem Anwenden der Signatur zu sperren. Ihre digitale Signatur stellt sicher, dass das Projekt seit dem Signieren nicht manipuliert wurde, aber sie beweist nicht, dass Sie das Projekt geschrieben haben. Auch wenn Sie Ihr Makroprojekt gesperrt haben, kann ein anderer Benutzer Ihre Signatur durch eine andere Signatur ersetzen. Unternehmensadministratoren können auch Vorlagen und Add-Ins erneut signieren, um sicherzustellen, dass nur genehmigte Inhalte auf Unternehmenscomputern ausgeführt werden.
  • 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.
  • Benutzer, die kommerzielle Zertifikate verwenden, können aufgrund der Einschränkung der unterstützten Hashalgorithmen beim Signieren auf Blöcke stoßen. Sie können einen DWORD-RegistrierungsschlüsselwertV1HashEnhanced hinzufügen, um einen anderen Hashalgorithmus auszuwählen, unter HKCU\SOFTWARE\Microsoft\VBA\Security mit Wertalgorithmusregeln (1 bis SHA1, 2 bis SHA256, 3 bis SHA384, 4 bis SHA512 und andere für MD5). Diese Einstellung ist in den neuesten Versionen des CC-Kanals verfügbar.

Weitere Informationen

Aktivieren oder Deaktivieren von Makros in Microsoft 365-Dateien

Hinweis

Dieser Artikel wurde von einer Person mit Unterstützung von künstlicher Intelligenz (KI) erstellt.