Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Authenticode är en Microsoft-teknik som använder branschstandardkryptografi för att signera programkod med digitala certifikat som verifierar programmets utgivares äkthet. Genom att använda Authenticode för programdistribution minskar ClickOnce risken för en trojansk häst. En trojansk häst är ett virus eller annat skadligt program som en skadlig tredje part förvränger som ett legitimt program som kommer från en etablerad, pålitlig källa. Att signera ClickOnce-distributioner med ett digitalt certifikat är ett valfritt steg för att kontrollera att sammansättningarna och filerna inte har manipulerats.
I följande avsnitt beskrivs de olika typerna av digitala certifikat som används i Authenticode, hur certifikat verifieras med certifikatutfärdare (CA), rollen tidsstämpling i certifikat och vilka lagringsmetoder som är tillgängliga för certifikat.
Authenticode och kodsignering
Ett digitalt certifikat är en fil som innehåller ett kryptografiskt offentligt/privat nyckelpar, tillsammans med metadata som beskriver utgivaren som certifikatet utfärdades till och den byrå som utfärdade certifikatet.
Det finns olika typer av Authenticode-certifikat. Var och en är konfigurerad för olika typer av signering. För ClickOnce-program måste du ha ett Authenticode-certifikat som är giltigt för kodsignering. Om du försöker signera ett ClickOnce-program med en annan typ av certifikat, till exempel ett digitalt e-postcertifikat, fungerar det inte. Mer information finns i Introduktion till kodsignering.
Du kan hämta ett certifikat för kodsignering på något av tre sätt:
Köp en från en certifikatleverantör.
Ta emot en från en grupp i din organisation som ansvarar för att skapa digitala certifikat.
Generera ditt eget certifikat med hjälp av New-SelfSignedCertificate PowerShell-cmdleten eller med hjälp avMakeCert.exe, som ingår i Windows Software Development Kit (SDK).
Hur användningen av certifikatutfärdare hjälper användare
Ett certifikat som genereras med hjälp av New-SelfSignedCertificate eller verktygetMakeCert.exe kallas ofta för ett självcertifikat eller ett testcertifikat. Den här typen av certifikat fungerar ungefär på samma sätt som en .snk-fil fungerar i .NET Framework. Den består enbart av ett offentligt/privat kryptografiskt nyckelpar och innehåller ingen verifierbar information om utgivaren. Du kan använda självsignerade certifikat för att distribuera ClickOnce-program med högt förtroende för ett intranät. Men när dessa program körs på en klientdator identifierar ClickOnce att de kommer från en okänd utgivare. Som standard kan ClickOnce-program som signerats med självcertifikat och distribueras via Internet inte använda distribution av betrodda program.
Om du däremot får ett certifikat från en certifikatutfärdare, till exempel en certifikatleverantör eller en avdelning inom företaget, ger certifikatet större säkerhet för användarna. Den identifierar inte bara utgivaren av den signerade programvaran, utan verifierar inte bara den identiteten genom att kontrollera med certifikatutfärdare som signerade den. Om certifikatutfärdare inte är rotutfärdare kommer Authenticode också att "länka" tillbaka till rotutfärdare för att kontrollera att certifikatutfärdare har behörighet att utfärda certifikat. För större säkerhet bör du använda ett certifikat som utfärdats av en certifikatutfärdare när det är möjligt.
Mer information om hur du genererar självcertifikat finns i New-SelfSignedCertificate eller MakeCert.
Tidsstämplar
Certifikaten som används för att signera ClickOnce-program upphör att gälla efter en viss tidsperiod, vanligtvis tolv månader. För att ta bort behovet av att ständigt signera om program med nya certifikat har ClickOnce stöd för tidsstämpel. När ett program signeras med en tidsstämpel fortsätter certifikatet att accepteras även efter förfallodatum, förutsatt att tidsstämpeln är giltig. På så sätt kan ClickOnce-program med utgångna certifikat, men giltiga tidsstämplar, ladda ned och köra. Det gör också att installerade program med utgångna certifikat kan fortsätta att ladda ned och installera uppdateringar.
Om du vill inkludera en tidsstämpel i en programserver måste en tidsstämpelserver vara tillgänglig. Information om hur du väljer en tidsstämpelserver finns i Så här: Signera program- och distributionsmanifest.
Uppdatera utgångna certifikat
I tidigare versioner av .NET Framework kan uppdatering av ett program vars certifikat har upphört att gälla leda till att programmet slutar fungera. Lös problemet genom att använda någon av följande metoder:
Uppdatera .NET Framework version 3.5 eller senare.
Avinstallera programmet och installera om en ny version med ett giltigt certifikat.
Lagra certifikat
- Du kan lagra certifikat som en .pfx-fil i filsystemet, eller så kan du lagra dem i en nyckelcontainer. En användare på en Windows-domän kan ha ett antal nyckelcontainrar. Som standard lagrar MakeCert.exe certifikat i din personliga nyckelcontainer, såvida du inte anger att den ska sparas i en .pfx i stället. Mage.exe och MageUI.exegör Windows SDK-verktygen för att skapa ClickOnce-distributioner att du kan använda certifikat som lagras på båda sätten.