SO WIRD'S GEMACHT: Sichern einer ASP.NET-Anwendung mit clientseitigen Zertifikaten

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315588 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D315588
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
315588 HOW TO: Secure an ASP.NET Application Using Client-Side Certificates
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Für Hochsicherheits-Webanwendungen wie Internetbanking-Sites besteht die Möglichkeit, eine Lösung zur Authentifizierung der Benutzer zu implementieren, die erheblich sicherer ist als die Kombination aus Benutzername und Kennwort. Sie können clientseitige digitale Zertifikate verwenden, um die Identität des Benutzers zu überprüfen. Zusätzlich können Sie, falls erforderlich, clientseitige digitale Zertifikate Windows-Konten auf dem Server zuordnen.


Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software und Netzwerkinfrastruktur sowie die benötigten Service Packs auf:
  • Microsoft Windows 2000 Service Pack 2 Server
  • Microsoft Internet Explorer 6,0
  • Microsoft Visual Studio .NET
  • Microsoft Zertifikatsdienste (wenn Sie eigene Zertifikate erstellen müssen)
In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen in den folgenden Bereichen verfügen:
  • ASP.NET-Entwicklung mit Visual Basic oder Visual C#
  • Konfiguration von Microsoft Internet-Informationsdiensten (IIS)

Erstellen der ASP.NET-Webanwendung

In diesem Abschnitt wird beschrieben, wie Sie eine einfache ASP.NET-Anwendung erstellen. In den folgenden Abschnitten wird beschrieben, wie Sie diese Anwendung über die Authentifizierung mit clientseitigen Zertifikaten sichern.
  1. Starten Sie Microsoft Visual Studio .NET und erstellen Sie ein neues ASP.NET-Webanwendungsprojekt mit dem Namen SecureSite.
  2. Ziehen Sie aus der Toolbox ein Steuerelement Bezeichnung (Label) auf das Webformular WebForm1.aspx und setzen Sie seine Eigenschaft ID auf greetingLabel.
  3. Ziehen Sie ein zweites Steuerelement Bezeichnung auf WebForm1.aspx und setzen Sie seine Eigenschaft ID auf certDataLabel.
  4. Fügen Sie den folgenden Code zur Page_Load Ereignisprozedur hinzu:
    'Visual Basic
    Dim username As String
    userName = User.Identity.Name
    greetingLabel.Text = "Welcome " & userName
    Dim cert As HttpClientCertificate = Request.ClientCertificate
    If cert.IsPresent Then
    	'Get the Organization (O) field from the Subject section.
    	certDataLabel.Text = cert.Get("Subject O")
    Else
    	certDataLabel.Text = "No certificate was found."
    End If
    					
    //Visual C#
    string userName;
    userName = User.Identity.Name;
    greetingLabel.Text = "Welcome " + userName;
    HttpClientCertificate cert = Request.ClientCertificate;
    if (cert.IsPresent)
        certDataLabel.Text = cert.Get("SUBJECT O");
    else
        certDataLabel.Text="No certificate was found.";
    					
  5. Erstellen und speichern Sie das Projekt und schließen Sie anschließend Visual Studio.
  6. Starten Sie Internet Explorer und gehen Sie auf die folgende Seite:
    http://localhost/SecureSite/WebForm1.aspx
    Die Seite zeigt die Meldungen "Willkommen" und "Es wurde kein Zertifikat gefunden" an. Die Seite zeigt jedoch keinen Benutzernamen an, weil der Benutzer nicht authentifiziert wurde.
  7. Schließen Sie Internet Explorer.

Konfigurieren des Webservers für zertifikatsbasierte Authentifizierung

In diesem Abschnitt wird beschrieben, wie Sie das SecureSite-Projekt darauf konfigurieren, Zertifikate für die Authentifizierung zu verwenden. Vor der Verwendung von clientseitigen Zertifikaten müssen Sie ein serverseitiges Zertifikat installieren. Sie können ein vorhandenes Serverzertifikat von einer Zertifizierungsstelle verwenden oder ein serverseitiges Zertifikat mit den Microsoft Zertifikatsdiensten erstellen.


Erstellen einer serverseitigen Zertifikatsanforderung

  1. Zeigen Sie im Menü Start auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie den Knoten für Ihren Server, und klicken Sie anschließend auf Standardwebsite.
  3. Klicken Sie im Menü Vorgang auf Eigenschaften.
  4. Klicken Sie auf der Registerkarte Verzeichnissicherheit auf Serverzertifikat. Führen Sie im Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf der ersten Seite des Assistenten auf Weiter.
    2. Klicken Sie auf der Seite Serverzertifikat auf Neues Zertifikat erstellen, und klicken Sie anschließend auf Weiter.
    3. Klicken Sie auf der Seite Verzögerte oder sofortige Anforderung auf Anforderung jetzt vorbereiten, aber später senden, und klicken Sie anschließend auf Weiter.
    4. Akzeptieren Sie auf der Seite Name und Sicherheitseinstellungen die Standardeinstellungen, und klicken Sie anschließend auf Weiter.
    5. Geben Sie auf der Seite Organisationsinformationen als Organisation MSDN und als Organisationseinheit Artikel zur Vorgehensweise ein, und klicken Sie anschließend auf Weiter.
    6. Geben Sie auf der Seite Allgemeiner Name Ihrer Website den Namen Localhost ein, und klicken Sie anschließend auf Weiter.
    7. Geben Sie auf der Seite Geographische Informationen Ihre Angaben zu Land, Region und Ort ein, und klicken Sie anschließend auf Weiter.
    8. Akzeptieren Sie auf der Seite Name der Zertifikatsanforderungsdatei den Standard-Dateinamen (gewöhnlich c:\certreq.txt), und klicken Sie anschließend auf Weiter.
    9. Überprüfen Sie auf der Seite Zusammenfassung, ob alle Details korrekt sind, und klicken Sie anschließend auf Weiter.
    10. Klicken Sie auf Fertig stellen, um den Assistenten zu schließen.
  5. Öffnen Sie die Zertifikatsdatei, die erstellt wurde, und kopieren Sie den gesamten Inhalt der Zertifikatsdatei in die Zwischenablage.

Senden einer serverseitigen Zertifikatsanforderung

  1. Starten Sie Internet Explorer und gehen Sie auf die folgende Seite:
    http://localhost/CertSrv
    Hinweis: Die Microsoft Zertifikatsdienste müssen installiert sein.
  2. Führen Sie im Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf Ein Zertifikat anfordern, und klicken Sie anschließend auf Weiter.
    2. Klicken Sie auf der Seite Anforderungstyp wählen auf Erweiterte Anforderung, und klicken Sie anschließend auf Weiter.
    3. Klicken Sie auf der Seite Erweiterte Zertifikatsanforderungen auf Senden Sie eine Zertifikatsanforderung ein, die eine Base64-codierte PKCS10-Datei verwendet, und klicken Sie anschließend auf Weiter.
    4. Klicken Sie auf der Seite Gespeicherte Anforderung einsenden in das Feld Base64-codierte Zertifikatsanforderung (PKCS10 oder 7) und drücken Sie anschließend die Tastenkombination [STRG]+[V], um die weiter oben in die Zwischenablage kopierte Zertifikatsanforderung einzufügen. Klicken Sie auf Senden.
  3. Schließen Sie Internet Explorer.

Ausstellen eines serverseitigen Zertifikats

  1. Klicken Sie im Menü Start auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Zertifizierungsstelle.
  2. Erweitern Sie den Knoten für Ihre Zertifizierungsstelle, und klicken Sie anschließend auf Ausstehende Anforderungen.
  3. Wählen Sie die soeben gesendete Zertifikatsanforderung aus. Zeigen Sie im Menü Vorgang auf Alle Tasks, und klicken Sie anschließend auf Ausstellen.
  4. Überprüfen Sie, ob das Zertifikat im Ordner Ausgestellte Zertifikate erscheint, und doppelklicken Sie anschließend auf das Zertifikat, um es anzuzeigen.
  5. klicken Sie auf der Registerkarte Details auf In Datei kopieren. Speichern Sie das Zertifikat als Base-64-codiertes X.509-Zertifikat in C:\Servercert.cer.
  6. Schließen Sie das Dialogfeld Eigenschaften für das Zertifikat.
  7. Schließen Sie das Programm Zertifizierungsstelle.

Installieren eines serverseitigen Zertifikats

  1. Zeigen Sie im Menü Start auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie den Knoten für Ihren Server, und klicken Sie anschließend auf Standardwebsite.
  3. Klicken Sie im Menü Vorgang auf Eigenschaften.
  4. Klicken Sie auf der Registerkarte Verzeichnissicherheit auf Serverzertifikat. Führen Sie im Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf der ersten Seite des Assistenten auf Weiter.
    2. Klicken Sie auf Ausstehende Anforderung bearbeiten, um das Zertifikat zu installieren, und klicken Sie anschließend auf Weiter.
    3. Navigieren Sie zu der zuvor gespeicherten Zertifikatsdatei C:\Servercert.cer. Klicken Sie zweimal auf Weiter und anschließend auf Fertig stellen.
  5. Klicken Sie auf OK, um das Dialogfeld Eigenschaften zu schließen.

Konfigurieren von SecureSite für SSL und clientseitige Zertifikate

  1. Wählen Sie im Internetdienste-Manager das Unterweb SecureSite aus und zeigen Sie seine Eigenschaften an.
  2. Führen Sie im Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf der Registerkarte Verzeichnissicherheit im Abschnitt Sichere Kommunikation auf Bearbeiten.
    2. Aktivieren Sie das Kontrollkästchen Sicheren Kanal verlangen (SSL). Dadurch wird sichergestellt, dass die Kommunikation mit diesem Unterweb verschlüsselt erfolgt.
    3. Aktivieren Sie das Kontrollkästchen Clientzertifikate verlangen. Dadurch wird sichergestellt, dass die Site nur von Benutzern angezeigt werden kann, für die ein clientseitiges Zertifikat installiert ist.
    4. Aktivieren Sie das Kontrollkästchen Zuordnung von Clientzertifikaten aktivieren. Dies dient dazu, Clientzertifikate Windows-Benutzerkonten zuzuordnen.
    5. Klicken Sie auf Bearbeiten. Beachten Sie, dass Sie jedes Zertifikat einem einzelnen Windows-Konto oder viele Zertifikate demselben Windows-Konto zuordnen können.
    6. Klicken Sie auf der Registerkarte n:1 auf Hinzufügen, um eine Zuordnungsregel hinzuzufügen. Nennen Sie diese Regel Zuordnungsregel, und klicken Sie anschließend auf Weiter.
    7. Klicken Sie auf Neu, um eine neue Regel zu erstellen, bei der das Unterfeld O (Organisation) im Antragsteller-Abschnitt des Zertifikats das Kriterium "MSDN" aufweist. Klicken Sie auf OK, um die Zuordnung auf Benutzer anzuwenden, deren Zertifikate das Organisations-Attribut "MSDN" enthalten. In einer Produktionsumgebung ist die Zuordnungsregel strenger, und es werden häufig sowohl der Aussteller als auch der Antragsteller überprüft. Klicken Sie auf Weiter.
    8. Wählen Sie auf der Seite Zuordnung die Option Zertifikat annehmen zur Anmelde-Echtheitsbestätigung aus. Klicken Sie auf Durchsuchen, um das Windows-Konto auszuwählen, dem Sie MSDN-Benutzer zuordnen möchten. Verwenden Sie für dieses Beispiel das Administratorkonto. (Bei einer echten Anwendung würden Sie ein spezielles Windows-Konto mit eingeschränkten Rechten erstellen.) Achten Sie darauf, das richtige Kennwort einzugeben.
    9. Klicken Sie auf Fertig stellen und bestätigen Sie anschließend das Kennwort.
  3. Klicken Sie auf OK, um das Dialogfeld Kontozuordnungen zu schließen.
  4. Klicken Sie auf OK, um das Dialogfeld Sichere Kommunikation zu schließen. Wenn Sie gefragt werden, ob die Einstellungen auf untergeordnete Dateien und Ordner angewendet werden sollen, klicken Sie auf Alles auswählen, und klicken Sie anschließend auf OK.
  5. Klicken Sie auf OK, um das Dialogfeld Eigenschaften von SecureSite zu schließen.

Überprüfen der zertifikatsbasierten Authentifizierung

  1. Starten Sie Internet Explorer und gehen Sie auf die folgende Seite:
    https://localhost/SecureSite/WebForm1.aspx
    Achten Sie darauf, das sichere Protokoll https zu verwenden.
  2. Überprüfen Sie, ob eine Meldung angezeigt wird, dass für die Seite ein Clientzertifikat benötigt wird.
  3. Schließen Sie Internet Explorer.

Installieren eines Clientzertifikats

In diesem Abschnitt wird beschrieben, wie Sie ein clientseitiges Zertifikat installieren. Sie können ein Zertifikat von einer Zertifizierungsstelle verwenden oder ein eigenes Zertifikat mit den Microsoft Zertifikatsdiensten erstellen.


Anfordern eines clientseitigen Zertifikats

  1. Starten Sie Internet Explorer und gehen Sie auf die folgende Seite:
    http://localhost/CertSrv
  2. Führen Sie im Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf Ein Zertifikat anfordern, und klicken Sie anschließend auf Weiter.
    2. Klicken Sie in der Symbolleiste Anforderungstyp wählen auf Webbrowserzertifikat, und klicken Sie anschließend auf Weiter.
    3. Geben Sie die erforderlichen Informationen ein. Achten Sie darauf, MSDN in das Textfeld Firma einzugeben.
    4. Klicken Sie auf Senden, um die Anforderung abzuschließen.
  3. Schließen Sie Internet Explorer.

Ausstellen eines clientseitigen Zertifikats

  1. Starten Sie in der Programmgruppe Verwaltung das Programm Zertifizierungsstelle.
  2. Erweitern Sie den Knoten für Ihre Zertifizierungsstelle, und klicken Sie anschließend auf Ausstehende Anforderungen.
  3. Wählen Sie die soeben gesendete Zertifikatsanforderung aus. Zeigen Sie im Menü Vorgang auf Alle Tasks, und klicken Sie anschließend auf Ausstellen.
  4. Überprüfen Sie, ob das Zertifikat im Ordner Ausgestellte Zertifikate erscheint, und doppelklicken Sie anschließend auf das Zertifikat, um es anzuzeigen.
  5. klicken Sie auf der Registerkarte Details auf In Datei kopieren. Speichern Sie das Zertifikat als Base-64-codiertes X.509-Zertifikat in C:\Clientcert.cer.
  6. Schließen Sie das Dialogfeld Eigenschaften für das Zertifikat.
  7. Schließen Sie das Programm Zertifizierungsstelle.

Installieren eines clientseitigen Zertifikats

  1. Öffnen Sie Windows Explorer und doppelklicken Sie auf Clientcert.cer, um die Zertifikatsdatei anzuzeigen.
  2. Führen Sie im Zertifikatsimport-Assistenten die folgenden Schritte durch:
    1. Klicken Sie auf der ersten Seite des Assistenten auf Zertifikat installieren, und klicken Sie anschließend auf Weiter.
    2. Aktivieren Sie das Kontrollkästchen Zertifikatspeicher automatisch auswählen (auf dem Zertifikatstyp basierend), und klicken Sie anschließend auf Weiter.
    3. Klicken Sie auf Fertig stellen, um den Assistenten zu beenden.
  3. Verwerfen Sie die Bestätigungsmeldung, und klicken Sie anschließend auf OK, um das Zertifikat zu schließen.

Funktionsprüfung

In diesem Abschnitt überprüfen Sie, ob Clientanwendungen mit Zertifikaten, die "MSDN" als Firma angeben, die Site SecureSite anzeigen können. Benutzer werden dem Konto zugeordnet, das Sie in der Zuordnungsregel angegeben haben.
  1. Starten Sie Internet Explorer und gehen Sie auf die folgende Seite:
    https://localhost/SecureSite/WebForm1.aspx
  2. Überprüfen Sie Folgendes:
    • Die Webseite wird angezeigt.
    • Das korrekte Windows-Konto wird verwendet.
    • Die Organisation "MSDN" wird aus dem Zertifikat gelesen.

Informationsquellen

Weitere Informationen über die Verwendung von SSL (Secure Sockets Layer) zum Sichern einer Website finden Sie in folgendem Artikel der Microsoft Knowledge Base:
298805 SO WIRD'S GEMACHT: Aktivieren von SSL in IIS für alle Kunden, die mit Ihrer Website interagieren

Eigenschaften

Artikel-ID: 315588 - Geändert am: Montag, 3. Dezember 2007 - Version: 4.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Keywords: 
kbhowtomaster kbsecurity KB315588
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com