Signér Office-makroer med et Code Signing-certifikat
Signér VBA-projekter i Excel (.xlsm), Word (.docm), PowerPoint (.pptm) og andre Office-filer. Denne guide dækker både USB-token og Azure Key Vault-signering, inklusiv det kritiske 32-bit krav, der forårsager de fleste signeringsfejl.
Hvorfor signere Office-makroer?
- ✓ Betroet kørsel uden sikkerhedsadvarsler, når filen åbnes
- ✓ Group Policy-håndhævelse: IT-afdelinger kan begrænse kørsel til kun signerede makroer
- ✓ Manipulationsbeskyttelse: V3-signaturer retter CVE-2020-0760
- ✓ Virksomhedskrav: mange organisationer kræver signerede makroer i deres sikkerhedspolitikker
Vigtigt: 32-bit signeringskrav
Office SIP (Subject Interface Package) DLL-filer er 32-bit. Du skal bruge 32-bit versionen af signtool.exe eller 32-bit .NET-hosten til AzureSignTool. Brug af 64-bit værktøjer er den hyppigste årsag til, at signering af Office-filer fejler.
Du har også brug for OfficeSIPs-pakken fra Microsoft (download ID 56617), som indeholder msosipx.dll
til moderne Office-formater og msosip.dll til ældre formater.
Opsætning
1. Installér OfficeSIPs
Download OfficeSIPs-pakken fra
Microsoft Download Center (ID 56617) ↗.
Udpak pakken og find msosipx.dll (moderne formater) og msosip.dll (ældre formater).
2. Registrér med 32-bit regsvr32
Brug 32-bit regsvr32 til at registrere SIP DLL-filen:
3. Find 32-bit signtool
32-bit signtool findes i x86-mappen i Windows SDK:
Signering med signtool (USB-token / SafeNet)
Brug 32-bit signtool med /sha1-flaget til at identificere dit certifikat via thumbprint.
Kør kommandoen tre gange for at oprette alle tre signaturtyper.
Kør 3 gange (opretter Legacy, Agile, V3-signaturer):
signtool sign /sha1 YOUR_THUMBPRINT /fd sha256 ^ /tr http://timestamp.digicert.com /td sha256 ^ "C:\path\to\your-file.xlsm"
Inkludér altid tidsstempling (/tr), så signaturer forbliver gyldige, efter certifikatet udløber.
Signering med AzureSignTool (Azure Key Vault)
Brug x86 .NET-hosten eller publicér AzureSignTool med -r win-x86-flaget.
Kør kommandoen tre gange (samme som signtool).
Kør 3 gange (opretter Legacy, Agile, V3-signaturer):
"C:\Program Files (x86)\dotnet\dotnet.exe" tool run AzureSignTool sign ^ -kvu https://your-vault.vault.azure.net ^ -kvc your-certificate-name ^ -kvt YOUR_TENANT_ID ^ -kvi YOUR_CLIENT_ID ^ -kvs YOUR_CLIENT_SECRET ^ -fd sha256 ^ -tr http://timestamp.digicert.com ^ -td sha256 ^ "C:\path\to\your-file.xlsm"
Tredobbelt signering forklaret
Office VBA-projekter bruger tre separate signaturformater. Hvert gennemløb af signtool opretter én ekstra signatur.
| Gennemløb | Signatur | Lagring | Bemærkninger |
|---|---|---|---|
| 1 | Legacy | vbaProjectSignature.bin | Originalt format, alle Office-versioner |
| 2 | Agile | vbaProjectSignatureAgile.bin | Office 2010 og nyere |
| 3 | V3 | vbaProjectSignatureV3.bin | Retter CVE-2020-0760. Microsoft 365 2102+, Office 2019/2016 med opdateringer. |
Understøttede filtyper
Moderne OOXML-formater (bruger msosipx.dll)
Ældre formater (bruger msosip.dll)
Signeringsprocessen er den samme for alle filtyper.
Almindelige fejl og løsninger
"File format cannot be signed because it is not recognized"
OfficeSIPs (msosipx.dll) er ikke registreret, eller du bruger 64-bit signtool. Registrér med 32-bit regsvr32 og brug x86 signtool.
Signaturen er ikke synlig i Office
Du har kun signeret én gang i stedet for tre. Office kræver alle tre signaturformater (Legacy, Agile, V3), for at signaturen vises i VBA-editoren.
AzureSignTool kan ikke signere Office-filer
Du bruger ikke x86 .NET-runtimen. Brug C:\Program Files (x86)\dotnet\dotnet.exe til at køre AzureSignTool, eller publicér det som en selvstændig x86-binær med -r win-x86.
Code Signing-certifikater
OV Code Signing
DigiCert CodeSign OV
DigiCert OV Code Signing. Bred platformsupport.
GlobalSign CodeSign
GlobalSign OV Code Signing. Stærkt brand.
EV Code Signing
Ofte stillede spørgsmål om signering af Office-makroer
Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.
C:\Program Files (x86)\dotnet\dotnet.exe) eller publicér med -r win-x86-flaget. Signeringsprocessen er identisk med signering af eksekverbare filer, men du skal køre den tre gange.1.3.6.1.5.5.7.3.3 dækker både softwaresignering og makrosignering.C:\Program Files (x86)\Windows Kits\10\bin\<version>\x86\.Klar til at signere dine Office-makroer?
Opret en gratis konto og udsted dit første certifikat på under 10 minutter.