I denne artikel beskrives det, hvordan du digitalt kan signere en makroprojektpå Windows ved hjælp af en certifikat. Hvis du ikke allerede har et digitalt certifikat, skal du have et.
: Hvis du vil bruge eller teste makroprojekter på din egen computer, kan du oprette dit eget selvsignerende certifikat ved hjælp af værktøjet Selfcert.exe. Du kan finde flere oplysninger om det nedenfor.
Få et digitalt certifikat
Du kan få et digitalt certifikat fra et kommercielt nøglecenter(CA), fra din interne sikkerhedsadministrator eller it-fagperson.
Du kan få mere at vide om nøglecentre, der tilbyder tjenester til Microsoft-produkter, på listen over medlemmer af Microsoft-rodcertifikatprogrammet.
Da et digitalt certifikat, som du har oprettet, ikke er udstedt af et formelt nøglecenter, der er tillid til, kaldes makroprojekter, der er signeret med et sådant certifikat, for selvsignerede projekter. Microsoft Office har kun tillid til et selvsigneret certifikat på en computer, der har disse selvsignerende certifikater føjet til mappen Rodnøglecenter, der er tillid til i lageret Certifikater – Aktuel bruger. Det gør det godt for test eller brug på din egen maskine eller et meget lille antal maskiner, du administrerer, men ikke særlig godt til at distribuere makroprojekter til andre personer.
Opret et selvsignerende certifikat
Få vist certifikatet i lageret Personlige certifikater
-
Åbn Microsoft Edge.
-
Angiv edge://settings/privacy på adresselinjen.
-
Rul ned til sektionen Sikkerhed , og vælg Administrer certifikater.
Signere et VBA-makroprojekt digitalt i Excel, PowerPoint, Publisher, Visio, Outlook eller Word
-
Åbn den fil, der indeholder det makroprojekt, du vil signere.
-
Klik på Visual Basic under fanen Udvikler i gruppen Kode.
: Hvis fanen Udvikler ikke er tilgængelig: Klik på fanen Filer. Indstillinger. Klik på Tilpas båndet. Klik på Udvikler på listen Tilpas båndet, og klik derefter på OK.
-
Klik på Digital signatur i menuen Funktioner i Visual Basic.
-
Dialogboksen Digital signatur vises.
-
Vælg et certifikat, og klik på OK.
: Hvis du ikke har valgt et digitalt certifikat eller vil bruge et andet, skal du klikke på Vælg. Vælg et certifikat, og klik på OK.
Føj et tidsstempel til din signatur
Når personer kører din VBA-makro, kontrollerer Office signaturen og det certifikat, det blev signeret med. Tilføjelse af et tidsstempel til din signatur betyder, at makroen stadig behandles som signeret, selv når certifikatet er udløbet, så længe certifikatet ikke tilbagekaldes. Dette kan reducere afbrydelser for brugerne.
Et certifikat, der blot er udløbet, kan stadig bruges til at validere kode. Det kan bare ikke bruges til at signere ny kode.
Hvis du vil tilføje et tidsstempel, skal du føje tre nøgler til registreringsdatabasen.
: Hvis du redigerer registreringsdatabasen forkert, kan det beskadige systemet alvorligt. Før du foretager ændringer i registreringsdatabasen, anbefaler vi, at du sikkerhedskopierer værdidata på computeren.
Tast |
Type |
Beskrivelse |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
URL-adressen på din foretrukne tidsstempelserver. (Påkrævet) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Det antal gange Visual Basic Editor forsøger at oprette forbindelse til tidsstempelserveren, før den mislykkes. (Valgfrit – Hvis du ikke angiver dette, forsøger Visual Basic Editor kun at kontakte serveren én gang) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Antallet af sekunder (i millisekunder) Visual Basic Editor venter mellem at forsøge at oprette forbindelse til tidsstempelserveren igen. (Valgfrit – Hvis du ikke angiver dette, vil der ikke være nogen forsinkelse mellem nye forsøg) |
Når du har tilføjet en timeStampURL-post, tilføjer Visual Basic Editor automatisk et tidsstempel, hver gang du signerer en makro digitalt.
Yderligere noter
-
Det anbefales, at du kun signerer makroer, når din løsning er blevet testet og klar til distribution: Når kode i et signeret makroprojekt ændres på nogen måde, fjernes den digitale signatur. Hvis du har et gyldigt digitalt certifikat, som tidligere er brugt til at signere projektet på din computer, signeres makroprojektet automatisk igen, når du gemmer det.
-
En måde at forhindre brugere i utilsigtet at ændre makroprojektet og gøre din signatur ugyldig er at låse makroprojektet, før du anvender signaturen. Din digitale signatur sikrer, at projektet ikke er blevet ændret, siden du signerede det, men det beviser ikke, at du har skrevet projektet. Selvom du har låst makroprojektet, kan en anden bruger muligvis stadig erstatte din signatur med en anden signatur. Virksomhedsadministratorer kan også signere skabeloner og tilføjelsesprogrammer igen for at sikre, at kun godkendt indhold køres på virksomhedens computere.
-
Hvis du opretter et tilføjelsesprogram, der føjer kode til et makroprojekt, bør koden kontrollere, om projektet er digitalt signeret, og give brugeren besked om konsekvenserne af at ændre et signeret projekt, før der fortsættes.
-
Brugere, der bruger kommercielle certifikater, kan støde på blokke på grund af begrænsningen af understøttede hashalgoritmer ved signering. Du kan tilføje en DWORD-nøgleværdi i registreringsdatabasen V1HashEnhanced for at vælge en anden hashalgoritme under HKCU\SOFTWARE\Microsoft\VBA\Security med regler for værdialgoritme (1 til SHA1, 2 til SHA256, 3 til SHA384, 4 til SHA512 og andre til MD5). Denne indstilling er tilgængelig i de nyeste versioner af CC-kanalen.
Få mere at vide
Aktivere eller deaktivere makroer i Microsoft 365-filer
: Denne artikel er oprettet af en person med hjælp fra en kunstig intelligens.