Wie behebe ich in VBA das Problem „Es sind keine verwendbaren Signaturzertifikate verfügbar“?

Wie behebe ich in VBA das Problem „Es sind keine verwendbaren Signaturzertifikate verfügbar“?

Wir haben ein VBA-Skript in Outlook, das beim Senden externer E-Mails ein Popup generiert. Anscheinend ist die Signatur des Skripts am Wochenende abgelaufen. Die Person, die es signiert hat, ist nicht mehr hier. Ich sehe das Zertifikat in der Zertifizierungsstelle auf unserem DC, aber keine Option zur Verlängerung.

Ich habe ein Code Signing-Zertifikat generiert und es in meinen Computer importiert, aber der VBA-Editor sagt immer No usable signing certificates are available. Ich sehe das Zertifikat in meinem Zertifikatsspeicher. In der Vorlage steht „Code Signing“ statt des Originalzertifikats „%ORG% Code Signing“, falls das wichtig ist.

Ich habe wirklich keine Ahnung, was ich tue, und habe stundenlang im Internet recherchiert, um so weit zu kommen. Ich bin in einer Sackgasse und könnte etwas Hilfe gebrauchen, um dies noch einmal zu unterzeichnen. Wenn es eine bessere, modernere Alternative gibt, um eine Benutzeraufforderung für externe Empfänger zu erhalten, lassen Sie es mich wissen.

Antwort1

Tut mir leid, ich bin hier kein großer Experte, werde aber trotzdem versuchen, meinen Senf dazuzugeben …

Haben Sie zunächst einmal ein selbstsigniertes Zertifikat ausprobiert? Das ist einfacher zu debuggen und hilft Ihnen beim lokalen Testen. https://social.technet.microsoft.com/Forums/lync/en-US/6b06b276-4266-4f29-ae22-2a3c86c4238f/Zertifikat für digitale Signatur?forum=outlook

Als nächstes: Sind Sie sicher, dass Sie zusammen mit dem Zertifikat auch den privaten Schlüssel importiert haben? Soweit ich den Signaturmechanismus verstehe, werden Sie ihn höchstwahrscheinlich brauchen (tut mir leid, wenn ich Sie in die Irre führe; wenn Sie die Idee des privaten Schlüssels kaufen, prüfen Sie bitte dort, wie Sie ihn installieren:https://security.stackexchange.com/questions/25996/how-to-import-a-private-key-in-windows- Sie benötigen PFX statt CER, sonst wird kein privater Schlüssel importiert).

Und zuletzt: In welchen Container in Ihrem Zertifikatspeicher haben Sie Ihr Zertifikat importiert? Auch das kann sich auf das Ergebnis auswirken. https://answers.microsoft.com/en-us/msoffice/forum/all/vba-i-installed-digital-signing-certificate-but/231529b1-8099-4c7b-9bb6-2c36aeba00a4

Schritte zum Erhalten eines Zertifikats zum Signieren

  1. Öffnen Sie auf dem signierenden ComputerManage User Certificates
  2. Rechtsklick Personal> All Tasks>Request New Certificate
  3. Auswählen Active Directory Enrollment Policy>Next
  4. Wählen Sie eine Code SigningVorlage aus und klicken Sie aufEnroll

Der VBA-Editor sollte jetzt das Zertifikat sehen und Ihnen ermöglichen, das Skript zu signieren.

Wenn das signierte Skript in einer Domäne verwendet wird, muss das Zertifikat exportiert und dann einer Gruppenrichtlinie hinzugefügt werden, die auf jedem Computer importiert werden muss, der das Skript verwendet.

Antwort2

Ich konnte dies beheben, indem ich das Zertifikat über die Schnittstelle „Internetoptionen/Inhalt/Zertifikate“ in die folgenden drei Speicher importierte: Persönlich, Vertrauenswürdige Herausgeber, Vertrauenswürdige Stammzertifizierungsstellen.

Zuvor hatte ich das Zertifikat an allen drei Standorten importiert, und zwar über „Computerzertifikate verwalten“ für die Maschinenebene und „Benutzerzertifikate verwalten“ für die Benutzerebene. Doch obwohl das Zertifikat an allen sechs Standorten angezeigt wurde (drei Standorte: Maschine, drei Standorte: Benutzer), wurde es von Excel nicht erkannt.

Der Weg über die Benutzeroberfläche „Internetoptionen“ hat jedoch geholfen.

verwandte Informationen