Freigeben über


ClickOnce und Authenticode

Authenticode ist eine Technologie von Microsoft, bei der Kryptografie nach Industriestandard eingesetzt wird, um Anwendungscode mit digitalen Zertifikaten zu signieren, die die Echtheit des Herausgebers der Anwendung bestätigen. Durch die Verwendung von Authenticode für die Anwendungsbereitstellung reduziert ClickOnce das Risiko eines trojanischen Pferds. Ein trojanisches Pferd ist ein Virus oder ein anderes schädliches Programm, das ein böswilliger Drittanbieter als rechtmäßiges Programm aus einer bekannten vertrauenswürdigen Quelle darstellt. Das Signieren von ClickOnce-Bereitstellungen mit einem digitalen Zertifikat ist ein optionaler Schritt, um sicherzustellen, dass die Assemblys und Dateien nicht manipuliert wurden.

In den folgenden Abschnitten wird erläutert, welche Arten digitaler Zertifikate in Authenticode verwendet werden, wie Zertifikate mithilfe von Zertifizierungsstellen validiert werden, welche Rolle Zeitstempel bei Zertifikaten spielen und welche Speichermethoden für Zertifikate verfügbar sind.

Authenticode und Codesignaturen

Ein digitales Zertifikat ist eine Datei, die ein öffentliches/privates kryptografisches Schlüsselpaar sowie Metadaten über den Softwareherausgeber, dem das Zertifikat ausgestellt wurde, und den Herausgeber des Zertifikats enthält.

Es gibt verschiedene Typen von Authenticode-Zertifikaten. Jedes wird für einen anderen Typ der Signierung konfiguriert. Für ClickOnce-Anwendungen muss ein Authenticode-Zertifikat vorliegen, das für Codesignaturen gültig ist. Wenn Sie versuchen, eine ClickOnce-Anwendung mit einer anderen Art von Zertifikat zu signieren, z. B. einem digitalen Zertifikat für E-Mail, funktioniert dies nicht. Weitere Informationen hierzu finden Sie unter Introduction to Code Signing.

Es gibt drei mögliche Quellen für Zertifikate zum Signieren von Code:

  • Erwerb von einem Zertifikatsanbieter.

  • Bezug von einer Abteilung in Ihrer Organisation, die für das Erstellen von digitalen Zertifikaten verantwortlich ist.

  • Generieren Sie ein benutzerdefiniertes Zertifikat mit "MakeCert.exe", das im Windows Software Development Kit (SDK) enthalten ist.

So hilft die Verwendung von Zertifizierungsstellen den Benutzern

Ein mit dem Dienstprogramm "MakeCert.exe" generiertes Zertifikat wird im Allgemeinen als selbst signiertes Zertifikat oder Testzertifikat bezeichnet. Diese Art von Zertifikat funktioniert in etwa so wie eine SNK-Datei in .NET Framework. Es besteht allein aus einem öffentlichen bzw. privaten kryptografischen Schlüsselpaar und enthält keine überprüfbaren Informationen zum Verleger. Sie können selbst signierte Zertifikate verwenden, um ClickOnce-Anwendungen mit hoher Vertrauenswürdigkeit in einem Intranet bereitzustellen. Wenn diese Anwendungen jedoch auf einem Clientcomputer ausgeführt werden, meldet ClickOnce, dass sie von einem unbekannten Herausgeber stammen. In der Standardeinstellung kann die Bereitstellung vertrauenswürdiger Anwendungen für ClickOnce-Anwendungen, die mit selbst signierten Zertifikaten signiert sind und über das Internet bereitgestellt werden, nicht verwendet werden.

Wenn Sie hingegen ein Zertifikat von einer Zertifizierungsstelle erhalten, z. B. von einem Zertifikatsanbieter oder einer Abteilung in Ihrem Unternehmen, bietet es den Benutzern weitaus mehr Sicherheit. Es wird nicht nur der Herausgeber der signierten Software identifiziert, die Identität wird darüber hinaus bei der signierenden Zertifizierungsstelle überprüft. Wenn die Zertifizierungsstelle nicht die Stammzertifizierungsstelle ist, verfolgt Authenticode dies zurück bis zur Stammzertifizierungsstelle, um sicherzustellen, dass die Zertifizierungsstelle die Berechtigung zum Ausgeben von Zertifikaten besitzt. Aus Sicherheitsgründen sollten Sie möglichst immer Zertifikate verwenden, die von Zertifizierungsstellen ausgegeben wurden.

Weitere Informationen über das Generieren von selbst signierten Zertifikaten finden Sie unter Makecert.exe (Certificate Creation-Tool).

Zeitstempel

Die Zertifikate, mit denen ClickOnce-Anwendungen signiert wurden, laufen nach einer bestimmten Zeitspanne ab, in der Regel zwölf Monate. Damit Anwendungen nicht ständig mit erneuerten Zertifikaten unterzeichnet werden müssen, werden von ClickOnce Zeitstempel unterstützt. Ist eine Anwendung mit einem Zeitstempel versehen, wird ihr Zertifikat sogar nach Ablauf weiterhin akzeptiert, sofern der Zeitstempel gültig ist. So können ClickOnce-Anwendungen mit abgelaufenen Zertifikaten, jedoch gültigen Zeitstempeln heruntergeladen und installiert werden. Außerdem können installierte Anwendungen mit abgelaufenen Zertifikaten weiterhin Updates herunterladen und installieren.

Zum Implementieren eines Zeitstempels in einen Anwendungsserver muss ein Zeitstempelserver verfügbar gemacht werden. Informationen zum Auswählen eines Zeitstempelservers finden Sie unter Gewusst wie: Signieren von Anwendungs- und Bereitstellungsmanifesten.

Aktualisieren von abgelaufenen Zertifikaten

In früheren Versionen von .NET Framework konnte die Aktualisierung einer Anwendung, deren Zertifikat abgelaufen war, zum Absturz der Anwendung führen. Verwenden Sie zur Beseitigung dieses Problems eine der folgenden Methoden:

  • Aktualisieren Sie .NET Framework SP1 auf Version 2.0 oder später unter Windows XP oder Version 3.5 oder später unter Windows Vista.

  • Deinstallieren Sie die Anwendung, und installieren Sie eine neue Version mit einem gültigen Zertifikat.

  • Erstellen Sie eine Befehlszeilenassembly, die das Zertifikat aktualisiert. Schritt-für-Schritt-Informationen zu diesem Prozess finden Sie imMicrosoft Support-Artikel 925521.

Speichern von Zertifikaten

  • Sie können Zertifikate als PFX-Datei in Ihrem Dateisystem oder in einem Schlüsselcontainer speichern. Ein Benutzer in einer Windows-Domäne kann mehrere Schlüsselcontainer besitzen. In der Standardeinstellung speichert "MakeCert.exe" Zertifikate in Ihrem persönlichen Schlüsselcontainer, sofern Sie nicht in einer PFX-Datei gespeichert werden sollen. Mit "Mage.exe" und "MageUI.exe", den Windows SDK-Tools zum Erstellen von ClickOnce-Bereitstellungen, können Sie auf beide Arten gespeicherte Zertifikate verwenden.

Siehe auch

Referenz

Mage.exe (Tool zum Generieren und Bearbeiten von Manifesten)

Konzepte

ClickOnce-Sicherheit und Bereitstellung

Sichern von ClickOnce-Anwendungen

Überblick über die Bereitstellung vertrauenswürdiger Anwendungen