Delen via


ClickOnce en Authenticode

Authenticode is een Microsoft-technologie die gebruikmaakt van industriestandaard cryptografie om toepassingscode te ondertekenen met digitale certificaten die de echtheid van de uitgever van de toepassing verifiëren. Door Authenticode te gebruiken voor de implementatie van toepassingen, vermindert ClickOnce het risico van een Trojaans paard. Een Trojaans paard is een virus of ander schadelijk programma dat een kwaadwillende derde partij ten onrechte presenteert als een legitiem programma afkomstig van een gevestigde, betrouwbare bron. Het ondertekenen van ClickOnce-implementaties met een digitaal certificaat is een optionele stap om te controleren of er niet met de assembly's en bestanden wordt geknoeid.

In de volgende secties worden de verschillende typen digitale certificaten beschreven die worden gebruikt in Authenticode, hoe certificaten worden gevalideerd met behulp van certificeringsinstanties (CA's), de rol van tijdstempels in certificaten en de opslagmethoden die beschikbaar zijn voor certificaten.

Authenticode en ondertekening van code

Een digitaal certificaat is een bestand dat een cryptografisch openbaar/persoonlijk sleutelpaar bevat, samen met metagegevens die de uitgever beschrijven aan wie het certificaat is uitgegeven en het agentschap dat het certificaat heeft uitgegeven.

Er zijn verschillende typen Authenticode-certificaten. Elke is geconfigureerd voor verschillende typen ondertekening. Voor ClickOnce-toepassingen moet u een Authenticode-certificaat hebben dat geldig is voor ondertekening van code. Als u een ClickOnce-toepassing probeert te ondertekenen met een ander type certificaat, zoals een digitaal e-mailcertificaat, werkt dit niet. Zie Inleiding tot ondertekening van code voor meer informatie.

U kunt op drie manieren een certificaat verkrijgen voor het aanmelden van code:

  • Koop er een bij een certificaatleverancier.

  • Ontvang er een van een groep in uw organisatie die verantwoordelijk is voor het maken van digitale certificaten.

  • Genereer uw eigen certificaat met behulp van de New-SelfSignedCertificate PowerShell-cmdlet of met behulp van MakeCert.exe, die is opgenomen in de Windows Software Development Kit (SDK).

Hoe het gebruik van certificeringsinstanties gebruikers helpt

Een certificaat dat wordt gegenereerd met New-SelfSignedCertificate of het hulpprogrammaMakeCert.exe wordt meestal een zelfcertificaat of een testcertificaat genoemd. Dit type certificaat werkt op dezelfde manier als een .snk-bestand in .NET Framework. Het bestaat alleen uit een openbaar/persoonlijk cryptografisch sleutelpaar en bevat geen verifieerbare informatie over de uitgever. U kunt zelfcertificaten gebruiken om ClickOnce-toepassingen met een hoge vertrouwensrelatie op een intranet te implementeren. Wanneer deze toepassingen echter worden uitgevoerd op een clientcomputer, identificeert ClickOnce deze als afkomstig van een onbekende uitgever. ClickOnce-toepassingen die zijn ondertekend met zelfcertificaten en via internet zijn geïmplementeerd, kunnen standaard geen gebruik maken van vertrouwde toepassingsimplementatie.

Als u daarentegen een certificaat van een CA ontvangt, zoals een certificaatleverancier of een afdeling binnen uw onderneming, biedt het certificaat meer beveiliging voor uw gebruikers. Het identificeert niet alleen de uitgever van de ondertekende software, maar verifieert die identiteit door te controleren bij de CA die het heeft ondertekend. Als de CA niet de basisinstantie is, wordt Authenticode ook teruggezet naar de basisinstantie om te controleren of de CA gemachtigd is om certificaten uit te geven. Voor een betere beveiliging moet u waar mogelijk een certificaat gebruiken dat is uitgegeven door een CA.

Zie New-SelfSignedCertificate of MakeCert voor meer informatie over het genereren van zelfcertificaten.

Tijdstempels

De certificaten die worden gebruikt om ClickOnce-toepassingen te ondertekenen, verlopen na een bepaalde tijdsduur, meestal twaalf maanden. Om te voorkomen dat toepassingen voortdurend opnieuw moeten worden ondertekend met nieuwe certificaten, ondersteunt ClickOnce tijdstempel. Wanneer een toepassing is ondertekend met een tijdstempel, wordt het certificaat nog steeds geaccepteerd, zelfs na verloop van tijd, mits de tijdstempel geldig is. Hierdoor kunnen ClickOnce-toepassingen met verlopen certificaten, maar geldige tijdstempels, worden gedownload en uitgevoerd. Ook kunnen geïnstalleerde toepassingen met verlopen certificaten updates blijven downloaden en installeren.

Als u een tijdstempel wilt opnemen in een toepassingsserver, moet er een tijdstempelserver beschikbaar zijn. Zie Toepassings- en implementatiemanifesten ondertekenen voor informatie over het selecteren van een tijdstempelserver.

Verlopen certificaten bijwerken

In eerdere versies van .NET Framework kan het bijwerken van een toepassing waarvan het certificaat is verlopen, ertoe leiden dat de toepassing niet meer functioneert. Gebruik een van de volgende methoden om dit probleem op te lossen:

  • Werk .NET Framework versie 3.5 of hoger bij.

  • Verwijder de toepassing en installeer een nieuwe versie opnieuw met een geldig certificaat.

Certificaten opslaan

  • U kunt certificaten opslaan als een PFX-bestand op uw bestandssysteem of u kunt ze opslaan in een sleutelcontainer. Een gebruiker in een Windows-domein kan een aantal sleutelcontainers hebben. Standaard slaat MakeCert.exe certificaten op in uw persoonlijke sleutelcontainer, tenzij u opgeeft dat het moet worden opgeslagen in een PFX . Mage.exe en MageUI.exekunt u met de Windows SDK-hulpprogramma's voor het maken van ClickOnce-implementaties certificaten gebruiken die op beide wijze zijn opgeslagen.