Denne artikkelen beskriver hvordan du kan signere en makroprosjekt på Windows digitalt ved hjelp av en sertifikat. Hvis du ikke allerede har et digitalt sertifikat, må du få et.
Tips!: Hvis du vil bruke eller teste makroprosjekter på din egen datamaskin, kan du opprette ditt eget selvsigneringssertifikat ved hjelp av Selfcert.exe verktøyet. Du finner mer informasjon om dette nedenfor.
Få et digitalt sertifikat
Du kan få et digitalt sertifikat fra en kommersiell sertifiseringsinstans (CA), fra den interne sikkerhetsadministratoren eller it-ansvarlig.
Hvis du vil vite mer om sertifiseringsinstanser som tilbyr tjenester for Microsoft-produkter, kan du se listen over medlemmer av Microsofts rotsertifikatprogram.
Siden et sertifikat du oppretter selv, ikke er utstedt av en formell, klarert sertifiseringsinstans, omtales makroprosjekter som er signert med et slikt sertifikat, som selvsignerte prosjekter. Microsoft Office stoler bare på selvsignerte prosjekter på en datamaskin der selvsigneringssertifikatet er lagt til i den personlige mappen for klarerte rotsertifiseringer i Sertifikater – gjeldende brukerlager. Dette gjør det bra for testing eller bruk på din egen maskin eller et svært lite antall maskiner du administrerer, men ikke særlig bra for distribusjon av makroprosjekter til andre.
Opprette et selvsigneringssertifikat
Vis sertifikatet i lageret for personlige sertifikater
-
Åpne Microsoft Edge.
-
Skriv inn edge://settings/privacy på adresselinjen.
-
Rull ned til Sikkerhet-delen , og velg Behandle sertifikater.
Signere et VBA-makroprosjekt digitalt i Excel, PowerPoint, Publisher, Visio, Outlook eller Word
-
Åpne filen som inneholder makroprosjektet du vil signere.
-
Klikk Visual Basic i Kode-gruppen i kategorien Utvikler.
Obs!: Hvis Utvikler-fanen ikke er tilgjengelig, klikker du fanen Fil . Klikk Alternativer. Klikk Tilpass båndet. Klikk Utvikleri listen Tilpass båndet, og klikk deretter OK.
-
Klikk Digital signatur på Verktøy-menyen i Visual Basic.
-
Dialogboksen Digital signatur vises.
-
Velg et sertifikat og klikk OK.
Obs!: Hvis du ikke har valgt et sertifikat, eller hvis du vil bruke et annet, klikker du Velg. Merk sertifikatet, og klikk deretter OK.
Legge til en tidsangivelse i signaturen
Når personer kjører VBA-makroen, kontrollerer Office signaturen og sertifikatet den ble signert med. Hvis du legger til en tidsangivelse i signaturen, betyr det at makroen fremdeles behandles som signert, selv etter at sertifikatet er utløpt, så lenge sertifikatet ikke tilbakekalles. Dette kan redusere avbrudd for brukerne.
Et sertifikat som bare er utløpt, kan fortsatt brukes til å validere kode, det kan bare ikke brukes til å signere ny kode.
Hvis du vil legge til en tidsangivelse, må du legge til tre nøkler i registeret.
Forsiktig!: Hvis du redigerer registeret feil, kan systemet bli alvorlig skadet. Før du gjør endringer i registeret, anbefaler vi at du sikkerhetskopierer alle verdifulle data på datamaskinen.
Tast |
Type |
Beskrivelse |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
URL-adressen til den foretrukne tidsangivelsesserveren. (Obligatorisk) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Antall ganger Visual Basic Editor prøver å koble til tidsangivelsesserveren før den mislykkes. (Valgfritt – Hvis du ikke angir dette, vil Visual Basic Editor bare prøve å kontakte serveren én gang) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Antall sekunder (i millisekunder) Visual Basic Editor venter mellom å prøve å koble til tidsangivelsesserveren på nytt. (Valgfritt – Hvis du ikke angir dette, vil det ikke være noen forsinkelse mellom nye forsøk) |
Når du har lagt til en timestampURL-oppføring, vil Visual Basic Editor automatisk legge til en tidsangivelse når du signerer en makro digitalt.
Flere merknader
-
Det anbefales at du signerer makroer først etter at løsningen er testet og klar for distribusjon: Når kode i et signert makroprosjekt endres på noen måte, fjernes den digitale signaturen. Hvis du imidlertid har det gyldige digitale sertifikatet som tidligere ble brukt til å signere prosjektet på datamaskinen, signeres makroprosjektet automatisk på nytt når du lagrer det.
-
Én måte å hindre brukere i å endre makroprosjektet ved et uhell og gjøre signaturen ugyldig på, er å låse makroprosjektet før du bruker signaturen. Den digitale signaturen sikrer at prosjektet ikke har blitt manipulert siden du signerte det, men det beviser ikke at du har skrevet prosjektet. Selv om du har låst makroprosjektet, kan det hende at en annen bruker fremdeles kan erstatte signaturen med en annen signatur. Bedriftsadministratorer kan også signere maler og tillegg på nytt for å sikre at bare godkjent innhold kjøres på firmaets datamaskiner.
-
Hvis du oppretter et tilleggsprogram som legger til kode i et makroprosjekt, bør koden kunne avgjøre om prosjektet er signert digitalt, og varsle brukerne om konsekvensene ved å endre et signert prosjekt, før de fortsetter.
-
Brukere som bruker kommersielle sertifikater, kan støte på blokker på grunn av begrensningen til støttede hash-algoritmer ved signering. Du kan legge til en DWORD-registernøkkelverdi V1HashEnhanced for å velge en annen hash-algoritme, under HKCU\SOFTWARE\Microsoft\VBA\Security med verdialgoritmeregler (1 til SHA1, 2 til SHA256, 3 til SHA384, 4 til SHA512 og andre i MD5). Denne innstillingen er tilgjengelig i de nyeste versjonene av CC-kanalen.
Finn ut mer
Aktivere eller deaktivere makroer i Microsoft 365-filer
Obs!: Denne artikkelen ble opprettet av en person ved hjelp av en kunstig intelligens (KI).