Postup: Zabezpečení aplikace ASP.NET pomocí certifikátů na straně klienta

Souhrn

Vysoce zabezpečené webové aplikace, jako je například Internet bankovní weby můžete implementovat bezpečnější řešení než kombinace uživatelského jména a hesla pro ověření uživatele. Digitální certifikáty na straně klienta můžete použít k ověření identity uživatele. Kromě toho můžete namapovat digitálních certifikátů klienta účty systému Windows na serveru, pokud je to nutné.

zpět na horní

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:
  • Server Microsoft Windows 2000 Service Pack 2
  • Aplikace Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
  • Certifikační služba společnosti Microsoft (je-li nutné generovat vlastní certifikáty)
Tento článek předpokládá, že jste obeznámeni s následující témata:
  • Vývoj v technologii ASP.NET pomocí jazyka Visual Basic nebo Visual C#
  • Konfigurace Internetová informační služba (IIS)
zpět na horní

Vytvoření ASP.NET webové aplikace

V této části vytvoříte jednoduchou aplikaci technologie ASP.NET. V částech řídit použijete ověřování pomocí certifikátů na straně klienta zabezpečení této aplikace.

  1. Spusťte Visual Studio .NET a pak vytvořte nový projekt webové aplikace technologie ASP.NET s názvem SecureSite.
  2. Přetáhněte ovládací prvek Label z panelu nástrojů na WebForm1.aspx webového formuláře a poté nastavte jeho vlastnost ID na greetingLabel.
  3. Přetáhněte druhý ovládací prvek Label na WebForm1.aspx a potom nastavte jeho vlastnost ID na certDataLabel.
  4. Přidejte následující kód do procedury události Page_Load :
    'Visual BasicDim 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. Sestavit projekt uložit a potom zavřete aplikaci Visual Studio.
  6. Spusťte aplikaci Internet Explorer a přejděte na následující stránce:
    http://localhost/SecureSite/WebForm1.aspx
    Všimněte si, že na stránce se zobrazí "Vítejte" a "nebyl nalezen žádný certifikát" zprávy. Všimněte si, že stránky nezobrazí uživatelské jméno, protože uživatel nebyl ověřen.
  7. Ukončete aplikaci Internet Explorer.
zpět na horní

Nakonfigurujte webový Server pro ověřování na základě certifikátů

V této části nakonfigurujete použití certifikátů pro ověřování projektu SecureSite. Chcete-li používat klientské certifikáty, je nutné nainstalovat serverový certifikát. Můžete použít existující certifikát serveru od jakékoli certifikační autority, nebo můžete generovat serverový certifikát certifikační služby společnosti Microsoft.

zpět na horní

Chcete-li vytvořit žádost o certifikát na straně serveru

  1. V nabídce Start přejděte na příkaz programy, přejděte na položku Nástroje pro správua potom klepněte na tlačítko Správce služeb sítě Internet.
  2. Rozbalte uzel serveru a potom klepněte na tlačítko výchozí web.
  3. V nabídce Akce klepněte na příkaz Vlastnosti.
  4. Na kartě Zabezpečení adresáře klepněte na tlačítko Certifikát serveru. Postupujte podle kroků v průvodci:
    1. Na první stránce průvodce klepněte na tlačítko Další .
    2. Na stránce Serverového certifikátu klepněte na tlačítko vytvořit nový certifikáta potom klepněte na tlačítko Další.
    3. Na stránce Opožděná nebo okamžitá žádost klepněte na tlačítko připravit žádost nyní, ale odeslat ji pozdějia potom klepněte na tlačítko Další.
    4. Na stránce název a nastavení zabezpečení potvrďte výchozí nastavení a klepněte na tlačítko Další.
    5. Na stránce Informace o organizaci zadejte MSDN pro organizaci, zadejte Jak na články pro organizační jednotku a potom klepněte na tlačítko Další.
    6. Na stránce Běžný název svůj serveru zadejte localhosta potom klepněte na tlačítko Další.
    7. Na stránce Geografické informace zadejte země, oblast a Město podrobnosti a potom klepněte na tlačítko Další.
    8. Na stránce Název souboru požadavku certifikátu přijměte výchozí název souboru (obvykle c:\certreq.txt) a klepněte na tlačítko Další.
    9. Na stránce Souhrn požadavku souboru zkontrolujte všechny údaje jsou správné a klepněte na tlačítko Další.
    10. Klepněte na tlačítko Dokončit zavřete průvodce.
  5. Otevřete soubor certifikátu, který je generován a potom celý obsah souboru certifikátu zkopírujte do schránky.
zpět na horní

Chcete-li odeslat žádost o certifikát na straně serveru

  1. Spusťte aplikaci Internet Explorer a přejděte na následující stránce:
    http://localhost/CertSrv
    Poznámka: The Microsoft Certificate Services musí být nainstalována.
  2. Postupujte podle kroků v průvodci:
    1. Klepněte na tlačítko Vyžádat certifikáta potom klepněte na tlačítko Další.
    2. Na stránce Zvolte typ požadavku klepněte na možnost Upřesnit žádosta potom klepněte na tlačítko Další.
    3. Na stránce Rozšířené žádosti o certifikát klepněte na tlačítko Odeslat žádost o certifikát pomocí s kódováním base64 kódování souboru PKCS #10a potom klepněte na tlačítko Další.
    4. Na stránce podat žádost o uložení klepněte na tlačítko v poli certifikátu kódovaného Base64 žádost (PKCS #10 nebo #7) a poté stiskněte kombinaci kláves CTRL + V vložte žádost o certifikát, kterou jste zkopírovali do schránky dříve. Klepněte na tlačítko Odeslat.
  3. Ukončete aplikaci Internet Explorer.
zpět na horní

Serverový certifikát vydat

  1. V nabídce Start přejděte na příkaz programy, přejděte na položku Nástroje pro správua potom klepněte na tlačítko Certifikační úřad.
  2. Rozbalte uzel pro certifikační úřad a poté vyberte Žádosti čekající na vyřízení.
  3. Vyberte žádost o certifikát, který jste odeslali. V nabídce Akce přejděte na příkaz Všechny úkolya potom klepněte na tlačítko problém.
  4. Ověřte, že certifikát se zobrazí ve složce vystavené certifikáty a potom poklepejte na certifikát, který chcete zobrazit.
  5. Na kartě Podrobnosti klepněte na tlačítko Kopírovat do souboru. Uložte certifikát, protože kódování Base-64 C:\Servercert.cer certifikát X.509.
  6. Zavřete dialogové okno Vlastnosti certifikátu.
  7. Ukončete nástroj Certifikační úřad.
zpět na horní

Chcete-li nainstalovat serverový certifikát

  1. V nabídce Start přejděte na příkaz programy, přejděte na položku Nástroje pro správua potom klepněte na tlačítko Správce služeb sítě Internet.
  2. Rozbalte uzel serveru a potom klepněte na tlačítko výchozí web.
  3. V nabídce Akce klepněte na příkaz Vlastnosti.
  4. Na kartě Zabezpečení adresáře klepněte na tlačítko Certifikát serveru. Postupujte podle kroků v průvodci:
    1. Na první stránce průvodce klepněte na tlačítko Další .
    2. Klepněte na Proces čekající žádosti o certifikát nainstalovat a potom klepněte na tlačítko Další.
    3. Vyhledejte soubor certifikátu C:\Servercert.cer, který jste dříve uložili. Dvakrát klepněte na tlačítko Další a potom klepněte na tlačítko Dokončit.
  5. Klepněte na tlačítko OK zavřete dialogové okno Vlastnosti .
zpět na horní

Konfigurace webu SecureSite pro SSL a certifikáty na straně klienta

  1. Správce služeb sítě Internet vyberte podsadu webových souborů SecureSite a zobrazit jeho vlastnosti.
  2. Postupujte podle kroků v průvodci:
    1. Na kartě Zabezpečení adresáře klepněte na tlačítko Upravit v části Zabezpečená komunikace .
    2. Zaškrtněte políčko Vyžadovat zabezpečený kanál (SSL) . Tím je zajištěno, že jsou šifrovaná komunikace pro tuto podsadu webových souborů.
    3. Zaškrtněte políčko Vyžadovat klientské certifikáty . Tím je zajištěno, že na webu lze zobrazit pouze uživatelé, kteří mají nainstalován klientský certifikát.
    4. Zaškrtněte políčko Povolit mapování klientských certifikátů . Používá se k mapování klientských certifikátů na uživatelské účty systému Windows.
    5. Klepněte na tlačítko Upravit. Všimněte si, že na samostatný účet systému Windows můžete mapovat každý certifikát, nebo můžete přiřadit několik certifikátů na stejný účet systému Windows.
    6. Na kartě přiřazení 1 klepněte na tlačítko Přidat přidejte pravidlo pro mapování. Název tohoto pravidla Pravidlo mapovánía potom klepněte na tlačítko Další.
    7. Klepněte na tlačítko Nový vytvořte nové pravidlo, ve kterém má O dílčí pole (organizace) části předmětu certifikátu kritéria "MSDN". Klepněte na tlačítko OK Chcete-li použít mapování uživatelů, jejichž certifikáty obsahují atribut organizace "MSDN". Pravidlo pro mapování v provozním prostředí je přísnější a často ověřuje vystavitele certifikátu, jakož i předmět. Klepněte na tlačítko Další.
    8. Na stránce mapování vyberte přijmout tento certifikát pro ověřování při přihlášení. Klepněte na tlačítko Procházet vyberte účet systému Windows, který chcete mapovat MSDN uživatelům. Například pomocí účtu správce. (V reálné aplikaci, můžete vytvořit vyhrazený účet systému Windows s omezenými oprávněními.) Ujistěte se, že jste zadali správné heslo.
    9. Klepněte na tlačítko Dokončita pak heslo potvrďte.
  3. Klepněte na tlačítko OK zavřete dialogové okno Mapování účtů .
  4. Klepněte na tlačítko OK zavřete dialogové okno Zabezpečená komunikace . Pokud se zobrazí výzva k nastavení použít pro podřízené soubory a složky, klepněte na tlačítko Vybrat všea potom klepněte na tlačítko OK.
  5. Klepněte na tlačítko OK zavřete dialogové okno Vlastnosti SecureSite .
zpět na horní

Chcete-li ověřit ověřování na základě certifikátů

  1. Spusťte aplikaci Internet Explorer a přejděte na následující stránce:
    https://localhost/SecureSite/WebForm1.aspx
    Všimněte si, že používáte zabezpečený protokol https.
  2. Potvrďte, že se zobrazí zpráva, že stránka vyžaduje certifikát klienta.
  3. Ukončete aplikaci Internet Explorer.
zpět na horní

Instalace certifikátu klienta

V této části můžete nainstalovat certifikát klienta. Můžete použít certifikát od jakékoli certifikační úřad nebo certifikační služby společnosti Microsoft můžete použít k vytvoření vlastního certifikátu.

zpět na horní

Žádosti o certifikát na straně klienta

  1. Spusťte aplikaci Internet Explorer a přejděte na následující stránce:
    http://localhost/CertSrv
  2. Postupujte podle kroků v průvodci:
    1. Klepněte na tlačítko Vyžádat certifikáta potom klepněte na tlačítko Další.
    2. Na stránce Zvolte typ požadavku klepněte na Certifikát webového prohlížečea potom klepněte na tlačítko Další.
    3. Zadejte požadované informace. Přesvědčte se, zda zadáte do textového pole společnosti MSDN .
    4. Klepněte na tlačítko Odeslat dokončete požadavek.
  3. Ukončete aplikaci Internet Explorer.
zpět na horní

Vystavení certifikátu klienta

  1. Spustíte nástroj Certifikační úřad z program skupině Nástroje pro správu .
  2. Rozbalte uzel pro certifikační úřad a poté vyberte Žádosti čekající na vyřízení.
  3. Vyberte žádost o certifikát, který jste odeslali. V nabídce Akce přejděte na příkaz Všechny úkolya potom klepněte na tlačítko problém.
  4. Ověřte, že certifikát se zobrazí ve složce vystavené certifikáty a potom poklepejte na certifikát, který chcete zobrazit.
  5. Na kartě Podrobnosti klepněte na tlačítko Kopírovat do souboru. Uložte certifikát jako certifikát X.509 pro C:\Clientcert.cer kódování Base-64.
  6. Zavřete dialogové okno Vlastnosti certifikátu.
  7. Ukončete nástroj Certifikační úřad.
zpět na horní

Instalace certifikátu klienta

  1. Spusťte program Průzkumník Windows a poklepejte na Clientcert.cer zobrazíte soubor certifikátu.
  2. Postupujte podle kroků v Průvodci importem certifikátu:
    1. Na první stránce průvodce klepněte na tlačítko Nainstalovat certifikáta potom klepněte na tlačítko Další.
    2. Zaškrtněte políčko automaticky vybrat úložiště certifikátů na základě typu certifikátu a klepněte na tlačítko Další.
    3. Klepněte na tlačítko Dokončit dokončete průvodce.
  3. Zavřete potvrzovací okno se zprávou a potom klepněte na tlačítko OK zavřete certifikátu.
zpět na horní

Ověřte, zda funguje

V této části ověřte, že klientské aplikace s certifikáty, které společnost může určovat "MSDN" zobrazení webu SecureSite. Uživatelé jsou mapovány na účet, který jste zadali v pravidla mapování.

  1. Spusťte aplikaci Internet Explorer a přejděte na následující stránce:
    https://localhost/SecureSite/WebForm1.aspx
  2. Potvrďte, že:
    • Zobrazí se webová stránka.
    • Slouží k odpovídajícímu účtu systému Windows.
    • Organizace "MSDN" čte z certifikátu.
zpět na horní

Odkazy

Další informace o tom, jak použít protokol SSL (Secure Sockets Layer) (SSL) k zabezpečení webového serveru klepněte na níže uvedené číslo článku znalostní báze Microsoft Knowledge Base:

298805 jak: Povolit protokol SSL pro všechny zákazníky, kteří pracují s webem v Internetová informační služba
zpět na horní
Vlastnosti

ID článku: 315588 - Poslední kontrola: 20. 1. 2017 - Revize: 1

Váš názor