Vorgehensweise: Aufrufen eines Webdienstes unter Verwendung von SSL

* * *

Auf dieser Seite

Zielsetzung Zielsetzung
Betrifft Betrifft
Verwendung dieses Moduls Verwendung dieses Moduls
Zusammenfassung Zusammenfassung
Erstellen eines einfachen Webdienstes Erstellen eines einfachen Webdienstes
Konfigurieren des virtuellen Verzeichnisses des Webdienstes für die Verwendung von SSL Konfigurieren des virtuellen Verzeichnisses des Webdienstes für die Verwendung von SSL
Testen des Webdienstes mit einem Browser Testen des Webdienstes mit einem Browser
Installieren des Zertifizierungsstellenzertifikats auf dem Clientcomputer Installieren des Zertifizierungsstellenzertifikats auf dem Clientcomputer
Entwickeln einer Webanwendung zum Aufrufen des Webdienstes Entwickeln einer Webanwendung zum Aufrufen des Webdienstes
Weitere Ressourcen Weitere Ressourcen

Zielsetzung

Themenbereiche:

  • Konfigurieren eines ASP.NET-Webdienstes, der SSL für die Clientkommunikation verwendet.

  • Konfigurieren eines Clientcomputers, der die Zertifizierungsstelle (CA), die das SSL-Zertifikat für den Webserver ausgegeben hat, als vertrauenswürdig einstuft.

  • Sicheres Aufrufen eines ASP.NET-Webdienstes über HTTPS.

 

Betrifft

Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:

  • Microsoft Windows® XP oder Windows 2000 Server (mit Service Pack 3) und höhere Betriebssysteme

  • Microsoft Internetinformationsdienste (IIS) 5.0

  • Microsoft .NET Framework Version 1.0 (mit Service Pack 2) und höhere Versionen

  • Microsoft Visual C#® .NET

 

Verwendung dieses Moduls

Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:

  • Sie müssen über Erfahrung in Visual C# .NET und Microsoft Visual Studio® .NET verfügen.

  • Sie sollten über Erfahrung in der Entwicklung von Webanwendungen mithilfe von ASP.NET verfügen.

  • Sie müssen Erfahrung in der Konfiguration von IIS besitzen.

  • Lesen Sie Modul 4, "Sichere Kommunikation". Hier finden Sie eine Einführung in Secure Sockets Layer (SSL) sowie eine Beschreibung der häufigsten Einsatzgebiete.

  • Sie müssen über einen Webserver mit einem installierten SSL-Zertifikat verfügen. Nähere Informationen hierzu finden Sie unter "Vorgehensweise: Einrichten von SSL auf einem Webserver".

  • Ihr Clientcomputer muss die CA, die das SSL-Zertifikat für Ihren Server ausgegeben hat, bereits als vertrauenswürdig eingestuft haben, oder Sie müssen Zugriff auf das Zertifikat der CA haben, damit Sie es mithilfe des im Modul beschriebenen Prozesses als vertrauenswürdig einstufen können.

 

Zusammenfassung

Bei der Kommunikation zwischen Webdiensten und ihren Clientanwendungen werden häufig sicherheitsrelevante Daten ausgetauscht, die Datenintegrität und Vertraulichkeit erfordern, die durch die Secure Sockets Layer-(SSL-)Protokolle bereitgestellt werden.

In diesem Modul wird beschrieben, wie Sie einen ASP.NET-Webdienst konfigurieren, der für die Kommunikation SSL einsetzt. Zudem lesen Sie, wie Sie den Webdienst über HTTPS von einer ASP.NET-Clientanwendung aus aufrufen.

Hinweis: Die Informationen zu dieser Vorgehensweise gelten auch für Remoteobjekte, für die ASP.NET und Microsoft® Internetinformationsdienste (IIS) (unter Verwendung der .NET Remoting-Technologie) als Host fungieren. Informationen über die Erstellung einer Remotekomponente, für die IIS als Host fungiert, finden Sie unter "Vorgehensweise: Erstellen einer Remotekomponente mit IIS als Host".

 

Erstellen eines einfachen Webdienstes

In diesem Verfahren erstellen Sie einen einfachen Webdienst zu Testzwecken.

  • So erstellen Sie einen einfachen Webdienst auf dem Webdienst-Hostcomputer

    1. Starten Sie Visual Studio .NET und öffnen Sie einen neuen Visual C# ASP.NET-Webdienst mit Namen SecureMath.

    2. Benennen Sie den Dienst Service1.asmx in Math.asmx um.

    3. Öffnen Sie math.asmx.cs und benennen Sie die Klasse Service1 in math um.

    4. Fügen Sie der math-Klasse die folgende Web-Methode hinzu.

      [WebMethod]
      public long Add(long operand1, long operand2)
      {
      return (operand1 + operand2);
      }
      
    5. Zum Erstellen des Webdienstes klicken Sie im Menü Erstellen auf Projektmappe erstellen.

 

Konfigurieren des virtuellen Verzeichnisses des Webdienstes für die Verwendung von SSL

Der Webdienst wird unter Internetinformationsdienste (IIS) ausgeführt und setzt auf IIS auf, um SSL zu unterstützen.

Das Verfahren setzt voraus, dass auf dem Webserver ein gültiges Serverzertifikat installiert ist. Weitere Informationen über das Installieren von Webserverzertifikaten finden Sie unter "Vorgehensweise: Einrichten von SSL auf einem Webserver".

  • So konfigurieren Sie das virtuelle Verzeichnis des Webdienstes mit IIS für SSL

    1. Starten Sie IIS auf dem Webdienst-Hostcomputer.

    2. Wechseln Sie zum virtuellen Verzeichnis SecureMath.

    3. Klicken Sie mit der rechten Maustaste auf SecureMath und dann auf Eigenschaften.

    4. Klicken Sie auf die Registerkarte Verzeichnissicherheit.

    5. Klicken Sie unter Sichere Kommunikation auf Bearbeiten.
      Wenn der Befehl Bearbeiten nicht zur Verfügung steht, ist wahrscheinlich kein Webserverzertifikat installiert.

    6. Aktivieren Sie das Kontrollkästchen Sicheren Kanal verlangen (SSL).

    7. Klicken Sie zweimal auf OK.

    8. Klicken Sie im Dialogfeld Vererbungsüberschreibungen auf Alles auswählen und dann auf OK, um das Eigenschaftendialogfeld von SecureMath zu schließen.
      Hiermit werden die neuen Sicherheitseinstellungen allen Unterverzeichnissen im virtuellen Stammverzeichnis zugewiesen.

 

Testen des Webdienstes mit einem Browser

Mit diesem Verfahren vergewissern Sie sich, dass das Webserverzertifikat gültig ist und von einer Zertifizierungsstelle (Certification Authority, CA) ausgegeben wurde, die seitens des Clientcomputers als vertrauenswürdig eingestuft wird.

  • So rufen Sie den Webdienst unter Verwendung von SSL im Internet Explorer auf

    1. Starten Sie den Internet Explorer auf dem Clientcomputer und navigieren Sie (unter Verwendung von HTTPS) zum Webdienst. Beispiel:

      https://WebServer/securemath/math.asmx
      

      Die Webdienst-Testseite sollte im Browser angezeigt werden.

    2. Wenn die Webdienst-Testseite erfolgreich angezeigt wurde, schließen Sie den Internet Explorer und fahren mit "Entwickeln einer Webanwendung zum Aufrufen der Serviced Component" fort.

    3. Wenn das in Abbildung 1 dargestellte Dialogfeld Sicherheitshinweis angezeigt wird, klicken Sie auf Zertifikat anzeigen, um die Identität der ausgebenden Zertifizierungsstelle des Webserverzertifikats anzuzeigen. Sie müssen das Zertifizierungsstellenzertifikat auf dem Clientcomputer installieren. Die entsprechende Vorgehensweise wird im Verfahren "Installieren des Zertifizierungsstellenzertifikats auf dem Clientcomputer" erläutert.

    4. Schließen Sie den Internet Explorer.

Dialogfeld Sicherheitshinweis

Abbildung 1
Dialogfeld Sicherheitshinweis

 

Installieren des Zertifizierungsstellenzertifikats auf dem Clientcomputer

Mit diesem Verfahren wird das Zertifikat der ausgebenden Zertifizierungsstelle als vertrauter Stammzertifizierungsstelle auf dem lokalen Computer installiert. Der Clientcomputer muss der ausgebenden Zertifizierungsstelle vertrauen, damit das Serverzertifikat akzeptiert und das Dialogfeld Sicherheitshinweis nicht angezeigt wird.

  • Wenn Sie die Microsoft Zertifikatdienste als Zertifizierungsstelle in der Windows-Domäne verwenden

    1. Führen Sie dieses Verfahren nur durch, wenn das Webserverzertifikat von einer Microsoft Zertifikatdienste-Zertifizierungsstelle ausgegeben wurde. Sofern Sie andernfalls über die CER-Datei der Zertifizierungsstelle verfügen, fahren Sie mit Schritt 8 fort.

    2. Starten Sie den Internet Explorer und navigieren Sie zu http://Hostname/certsrv, wobei Hostname für den Namen des Computers steht, auf dem sich die Microsoft Zertifikatdienste befinden, die das Serverzertifikat ausgegeben haben.

    3. Klicken Sie auf Zertifizierungsstellenzertifikat oder Zertifikatsperrliste abrufen und dann auf Weiter.

    4. Klicken Sie auf Zertifizierungsstellen-Zertifikatspfad installieren.

    5. Klicken Sie im Dialogfeld Stammzertifikatspeicher auf Ja.

    6. Navigieren Sie unter Verwendung von HTTPS zum Webdienst. Beispiel:

      https://WebServer/securemath/math.asmx
      

      Die Webdienst-Testseite sollte nun korrekt und ohne Anzeige des Dialogfeldes Sicherheitshinweis im Browser angezeigt werden.

      Sie haben nun das Zertifizierungsstellenzertifikat in Ihrem persönlichen Speicher für vertrauenswürdige Stammzertifikate installiert. Um den Webdienst von einer ASP.NET-Seite erfolgreich aufrufen zu können, müssen Sie das Zertifizierungsstellenzertifikat auch im Speicher für vertrauenswürdige Stammzertifikate des Computers installieren.

    7. Wiederholen Sie die Schritte 1 und 2, klicken Sie auf Download des Zertifizierungsstellenzertifikats und speichern Sie es in einer Datei auf dem lokalen Computer.

    8. Führen Sie nun die noch verbleibenden Schritte durch.

      Wenn Sie über die CER-Zertifikatdatei der Zertifizierungsstelle verfügen

    9. Klicken Sie auf der Taskleiste auf Start und dann auf Ausführen.

    10. Geben Sie mmc ein und klicken Sie auf OK.

    11. Klicken Sie im Menü Konsole auf Snap-In hinzufügen/entfernen.

    12. Klicken Sie auf Hinzufügen.

    13. Klicken Sie auf Zertifikate und dann auf Hinzufügen.

    14. Wählen Sie Computerkonto und klicken Sie dann auf Weiter.

    15. Wählen Sie Lokaler Computer (Computer, auf dem diese Konsole ausgeführt wird) und klicken Sie dann auf Fertig stellen.

    16. Klicken Sie auf Schließen und dann auf OK.

    17. Erweitern Sie im linken Fensterbereich des MMC-Snap-Ins den Eintrag Zertifikate (Lokaler Computer).

    18. Erweitern Sie Vertrauenswürdige Stammzertifizierungsstellen.

    19. Klicken Sie mit der rechten Maustaste auf Zertifikate, zeigen Sie auf Alle Tasks und klicken Sie auf Importieren.

    20. Klicken Sie auf Weiter, um den Begrüßungsdialog des Zertifikatsimport-Assistenten zu schließen.

    21. Geben Sie den Pfad und den Dateinamen der CER-Datei der Zertifizierungsstelle ein.

    22. Klicken Sie auf Weiter.

    23. Wählen Sie Alle Zertifikate in folgendem Speicher speichern und klicken Sie dann auf Durchsuchen.

    24. Wählen Sie Physikalischen Speicher anzeigen.

    25. Erweitern Sie in der Liste den Eintrag Vertrauenswürdige Stammzertifizierungsstellen und wählen Sie dann Lokaler Computer.

    26. Klicken Sie auf OK, klicken Sie auf Weiter und dann auf Fertig stellen.

    27. Klicken Sie auf OK, um das Bestätigungsdialogfeld zu schließen.

    28. Aktualisieren Sie die Ansicht des Ordners Zertifikate im MMC-Snap-In und vergewissern Sie sich, dass das Zertifizierungsstellenzertifikat in der Liste aufgeführt wird.

    29. Schließen Sie das MMC-Snap-In.

 

Entwickeln einer Webanwendung zum Aufrufen des Webdienstes

Mit diesem Verfahren wird eine einfache ASP.NET-Webanwendung erstellt. Sie verwenden diese ASP.NET-Webanwendung als Clientanwendung zum Aufrufen des Webdienstes.

  • So erstellen Sie eine einfache ASP.NET-Webanwendung

    1. Erstellen Sie auf dem Webdienst-Clientcomputer mit C# eine neue ASP.NET-Webanwendung mit Namen SecureMathClient.

    2. Fügen Sie dem Webdienst einen Webverweis (unter Verwendung von HTTPS) hinzu.

      1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Verweise und dann auf Webverweis hinzufügen.

      2. Geben Sie im Dialogfeld Webverweis hinzufügen den URL Ihres Webdienstes ein. Verwenden Sie unbedingt einen HTTPS-URL.

        Hinweis: Wenn Sie bereits einen Webverweis auf einen Webdienst ohne Verwendung von HTTPS erstellt haben, können Sie die hiermit erzeugte Proxyklassendatei manuell bearbeiten und in der entsprechenden Codezeile die Url-Eigenschaft von einem HTTP-URL in einen HTTPS-URL ändern.

      3. Klicken Sie auf Verweis hinzufügen.

    3. Öffnen Sie WebForm1.aspx.cs, und fügen Sie unterhalb der vorhandenen using-Anweisungen die folgende using-Anweisung hinzu.

      using SecureMathClient.WebReference1;
    4. Zeigen Sie WebForm1.aspx im Entwurfsmodus an und erstellen Sie ein Formular ähnlich des in Abbildung 2 gezeigten unter Verwendung der folgenden IDs:

      • Operand1

      • Operand2

      • Ergebnis

      • Addieren

      Formular WebForm1.aspx

      Abbildung 2
      Formular WebForm1.aspx

    5. Doppelklicken Sie auf die Schaltfläche Hinzufügen, um einen Ereignishandler für das Klickereignis der Schaltfläche zu erstellen.

    6. Fügen Sie dem Ereignishandler den folgenden Code hinzu.

      private void add_Click(object sender, System.EventArgs e)
      {
      math mathService = new math();
      int addResult = (int) mathService.Add( Int32.Parse(operand1.Text), 
                                          Int32.Parse(operand2.Text));
      result.Text = addResult.ToString();
      }
      
    7. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    8. Führen Sie die Anwendung aus. Geben Sie zwei Zahlen ein, die addiert werden sollen, und klicken Sie dann auf Hinzufügen.
      Die Webanwendung ruft nun den Webdienst unter Verwendung von SSL auf.

 

Weitere Ressourcen