Gewusst wie: Signieren von Anwendungs- und Bereitstellungsmanifesten
Zum Veröffentlichen einer Anwendung mit der ClickOnce-Bereitstellung müssen Anwendungs- und Bereitstellungsmanifeste mithilfe eines öffentlichen/privaten Schlüsselpaars mit einem starken Namen sowie mit einer Authenticode-Signatur versehen werden. Sie können die Manifeste mit einem Zertifikat aus dem Windows-Zertifikatspeicher oder einer Schlüsseldatei signieren.
Das Signieren der ClickOnce-Manifeste ist für EXE-basierte Anwendungen optional. Weitere Informationen finden Sie im Abschnitt "Generieren von unsignierten Manifesten" in diesem Dokument.
Informationen über das Erstellen von Schlüsseldateien finden Sie unter Gewusst wie: Erstellen eines öffentlichen/privaten Schlüsselpaars.
Tipp
Visual Studio unterstützt nur PFX-Schlüsseldateien (Personal Information Exchange). Sie können jedoch aus dem Windows-Zertifikatspeicher des Benutzers andere Typen von Zertifikaten unter Verwendung von Dialogfeld "Zertifikat auswählen" auswählen, um das Manifest zu signieren.
Sie können die Anwendungs- und Bereitstellungsmanifeste über die Optionen auf der Seite Signierung des Projekt-Designers signieren. Weitere Informationen finden Sie unter Seite "Signierung", Projekt-Designer.
Die folgenden Verfahren gelten nur zum Signieren der Anwendungs- und Bereitstellungsmanifeste. Informationen zum Signieren der Assembly finden Sie unter Gewusst wie: Signieren von Assemblys (Visual Studio).
So greifen Sie auf die Seite Signierung zu
Markieren Sie den Projektknoten, und klicken Sie im Projektmappen-Explorer im Menü Projekt auf Eigenschaften (oder klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und klicken Sie auf Eigenschaften).
Klicken Sie im Projekt-Designer auf die Registerkarte Signierung.
So signieren Sie Anwendungs- und Bereitstellungsmanifeste mit einem Zertifikat
Aktivieren Sie auf der Seite Signierung das Kontrollkästchen ClickOnce-Manifeste signieren.
Klicken Sie auf die Schaltfläche Aus Speicher auswählen.
Im daraufhin geöffneten Dialogfeld "Zertifikat auswählen" wird der Inhalt des Windows-Zertifikatspeichers angezeigt.
Wählen Sie das Zertifikat aus, mit dem Sie die Manifeste signieren möchten.
Zudem können Sie im Textfeld Timestampserver-URL die Adresse eines Timestampservers angeben. Dabei handelt es sich um einen Server, der einen Timestamp bereitstellt, mit dem angegeben wird, zu welchem Zeitpunkt das Manifest signiert wurde.
So signieren Sie Anwendungs- und Bereitstellungsmanifeste mit einer vorhandenen Schlüsseldatei
Aktivieren Sie auf der Seite Signierung das Kontrollkästchen ClickOnce-Manifeste signieren.
Klicken Sie auf die Schaltfläche Aus Datei wählen.
Das Dialogfeld Datei auswählen wird angezeigt.
Suchen Sie im Dialogfeld Datei auswählen den Speicherort der zu verwendenden Schlüsseldatei (PFX-Datei), und klicken Sie dann auf Öffnen.
Tipp
Diese Option kann nur bei Dateien mit der Erweiterung .pfx verwendet werden. Speichern Sie Schlüsseldateien oder Zertifikate in einem anderen Format im Windows-Zertifikatspeicher, und wählen Sie das Zertifikat aus, das im vorhergehenden Verfahren beschrieben wurde. Zu den Funktionen des ausgewählten Zertifikats sollten auch Codesignaturen gehören.
Das Dialogfeld "Kennwort zum Öffnen der Datei eingeben" wird angezeigt. (Wenn die PFX-Datei bereits im Windows-Zertifikatspeicher gespeichert oder nicht kennwortgeschützt ist, werden Sie zur Eingabe eines Kennworts aufgefordert.)
Geben Sie das Kennwort für den Zugriff auf die Schlüsseldatei ein, und drücken Sie die EINGABETASTE.
So signieren Sie Anwendungs- und Bereitstellungsmanifeste mit einem Testzertifikat
Aktivieren Sie auf der Seite Signierung das Kontrollkästchen ClickOnce-Manifeste signieren.
Klicken Sie zum Erstellen eines neuen Zertifikats zum Testen auf die Schaltfläche Testzertifikat erstellen.
Geben Sie im Dialogfeld "Testzertifikat erstellen" ein Kennwort ein, um das Testzertifikat zu schützen.
Generieren von unsignierten Manifesten
Das Signieren der ClickOnce-Manifeste ist für EXE-basierte Anwendungen optional. In den folgenden Anleitungen wird dargestellt, wie unsignierte ClickOnce-Manifeste generiert werden.
Wichtig
Unsignierte Manifeste können die Entwicklung und das Testen der Anwendung vereinfachen. Unsignierte Manifeste führen in einer Produktionsumgebung jedoch zu beträchtlichen Sicherheitsrisiken. Ziehen Sie die Verwendung unsignierter Manifeste nur in Betracht, wenn die ClickOnce-Anwendung auf Computern in einem Intranet ausgeführt wird, das vollständig vom Internet oder anderen Quellen bösartigen Codes abgeschirmt ist.
Standardmäßig werden durch ClickOnce automatisch signierte Manifeste generiert, sofern nicht mindestens eine Datei ausdrücklich aus dem generierten Hash ausgeschlossen wird. Wenn alle Dateien im Hash eingeschlossen sind, werden beim Veröffentlichen der Anwendung somit signierte Manifeste erstellt. Dies gilt auch, wenn das Kontrollkästchen ClickOnce-Manifeste signieren deaktiviert ist.
So generieren Sie nicht signierte Manifeste und schließen alle Dateien in den generierten Hash ein
Zum Generieren nicht signierter Manifeste, die alle Dateien im Hash enthalten, müssen Sie die Anwendung zunächst mit signierten Manifesten veröffentlichen. Signieren Sie daher zunächst die ClickOnce-Manifeste, indem Sie eines der oben aufgeführten Verfahren ausführen, und veröffentlichen Sie dann die Anwendung.
Deaktivieren Sie auf der Seite Signierung das Kontrollkästchen ClickOnce-Manifeste signieren.
Setzen Sie die Veröffentlichungsversion zurück, damit nur eine Version der Anwendung verfügbar ist. Standardmäßig wird die Revisionsnummer der Veröffentlichungsversion von Visual Studio bei jedem Veröffentlichen einer Anwendung automatisch erhöht. Weitere Informationen finden Sie unter Gewusst wie: Festlegen der ClickOnce-Veröffentlichungsversion.
Veröffentlichen Sie die Anwendung.
So generieren Sie nicht signierte Manifeste und schließen eine oder mehrere Dateien aus dem generierten Hash aus
Deaktivieren Sie auf der Seite Signierung das Kontrollkästchen ClickOnce-Manifeste signieren.
Öffnen Sie das Dialogfeld Anwendungsdateien, und legen Sie Hash für die Dateien auf Ausschließen fest, die Sie aus dem generierten Hash ausschließen möchten.
Tipp
Durch Ausschließen einer Datei aus dem Hash wird ClickOnce so konfiguriert, dass das automatische Signieren von Manifesten deaktiviert wird. Daher muss nicht zuerst mit signierten Manifesten veröffentlicht werden, wie es im vorhergehenden Verfahren der Fall war.
Veröffentlichen Sie die Anwendung.
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines öffentlichen/privaten Schlüsselpaars
Gewusst wie: Verzögertes Signieren von Assemblys (Visual Studio)
Referenz
Seite "Signierung", Projekt-Designer