Dieser Artikel beschreibt, 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 eins abrufen.
Tipp
Um Makroprojekte auf Ihrem eigenen Computer zu verwenden oder zu testen, können Sie mit dem Tool Selfcert.exe ein eigenes selbstsigniertes Zertifikat erstellen. Weitere Details dazu finden Sie weiter unten.
Abrufen eines digitalen Zertifikats
Sie können ein digitales Zertifikat von einer kommerziellen Zertifizierungsstelle, Ihrem internen Sicherheitsadministrator oder einem IT-Experten (Information Technology) erhalten.
Weitere Informationen zu Zertifizierungsstellen, die Dienste für Microsoft-Produkte anbieten, finden Sie in der Liste der Mitglieder des Microsoft-Programms für Stammzertifikate.
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 selbstsignierte Zertifikat dem Ordner "Vertrauenswürdige Stammzertifizierung" im Speicher "Zertifikate – aktueller Benutzer" hinzugefügt wurde. Das 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 höher
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
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.
Windows 8
- Wechseln Sie zu C:\Program Files\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 Speicher für persönliche Zertifikate
- Ö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 Ihres Zertifikats weiterhin als signiert behandelt wird, solange das Zertifikat nicht gesperrt ist. Dies kann Unterbrechungen für die Benutzer reduzieren.
Ein Zertifikat, das lediglich abgelaufen ist, kann weiterhin zur Validierung von Code verwendet werden, es kann jedoch 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 | Wie oft versucht der Visual Basic-Editor, eine Verbindung mit dem Zeitstempelserver herzustellen, bevor ein Fehler auftritt. (Optional – wenn Sie diese Einstellung nicht festlegen, versucht der Visual Basic-Editor nur einmal, eine Verbindung mit dem Server herzustellen.) |
| HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay | REG_DWORD | Die Anzahl der Sekunden (in Millisekunden), die der Visual Basic-Editor wartet, bevor erneut versucht wird, eine Verbindung mit dem Zeitstempelserver herzustellen. (Optional – wenn Sie diese Einstellung nicht festlegen, gibt es keine Verzögerung zwischen den Wiederholungen ) |
Sobald Sie einen funktionierenden TimeStampURL-Eintrag hinzugefügt haben, fügt der Visual Basic-Editor jedes Mal, wenn Sie ein Makro digital signieren, automatisch einen Zeitstempel hinzu.
Weitere Hinweise
- Es wird empfohlen, Makros erst zu signieren, nachdem die Lösung getestet wurde und für die Verteilung bereit ist: Wenn der Code in einem signierten Makroprojekt in irgendeiner Weise geändert wird, wird seine 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, um zu verhindern, dass Benutzer versehentlich Ihr Makroprojekt ändern und Ihre Signatur ungültig machen, besteht darin, das Makroprojekt vor dem Anwenden der Signatur zu sperren. Ihre digitale Signatur stellt sicher, dass das Projekt seit der Unterzeichnung nicht manipuliert wurde, beweist aber nicht, dass Sie das Projekt geschrieben haben. Selbst wenn Sie Ihr Makroprojekt gesperrt haben, kann ein anderer Benutzer Ihre Signatur möglicherweise 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.
- Bei Benutzern, die kommerzielle Zertifikate verwenden, können aufgrund der Einschränkung der unterstützten Hashalgorithmen bei der Signatur Sperren auftreten. Sie können einen DWORD-RegistrierungsschlüsselwertV1HashEnhanced hinzufügen, um einen anderen Hashalgorithmus unter HKCU\SOFTWARE\Microsoft\VBA\Security mit Wertalgorithmusregeln auszuwählen (1 bis SHA1, 2 bis SHA256, 3 bis SHA384, 4 bis SHA512 und andere bis 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.