방법: 클라이언트측 인증서를 사용하여 ASP.NET 응용 프로그램 보안

기술 자료 번역 기술 자료 번역
기술 자료: 315588 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

인터넷 뱅킹 사이트에서 같은 보안 수준이 높은 웹 응용 프로그램의 사용자 인증 위한 사용자 이름과 암호 조합이 아닌 보다 안전한 솔루션을 구현하는 것이 좋습니다. 클라이언트 쪽 디지털 인증서를 사용자의 ID를 확인할 수 있습니다. 또한 클라이언트 쪽 디지털 인증서를 서버에 필요한 경우 Windows 계정에 매핑할 수 있습니다.


요구 사항

다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Windows 2000 서비스 팩 2 서버
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
  • Microsoft 인증서 서비스를 자체 인증서를 생성하는 합니다 경우)
이 문서에서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • Visual Basic 또는 Visual C# ASP.NET 개발
  • Microsoft 인터넷 정보 서비스 (IIS) 구성

ASP.NET 웹 응용 프로그램 만들기

이 단원에서는 간단한 ASP.NET 응용 프로그램을 만듭니다. 따릅니다 섹션이 있는 이 응용 프로그램을 보호하려면 클라이언트 인증서 인증을 사용합니다.
  1. Visual Studio .NET 시작하고 SecureSite 라는 새 ASP.NET 웹 응용 프로그램 프로젝트를 만듭니다.
  2. Label 컨트롤을 도구 상자에서 WebForm1.aspx 웹 폼으로 끌어 후 greetingLabel 위해 해당 ID 속성을 설정하십시오.
  3. 두 번째 Label 컨트롤을 WebForm1.aspx 끌어다 끌어 다음 certDataLabel 위해 해당 ID 속성을 설정하십시오.
  4. Page_Load 이벤트 프로시저에 다음 코드를 추가합니다:
    '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. 빌드 및 프로젝트를 저장한 다음 Visual Studio 닫습니다.
  6. Internet Explorer를 시작하고 다음 페이지로 이동하십시오.
    http://localhost/SecureSite/WebForm1.aspx
    "시작" 페이지를 표시하는 "No 인증서를 찾을 수 없습니다" 메시지가 나타납니다. 알림 페이지에 사용자가 인증되지 않아 때문에 사용자 이름을 표시하지 않습니다.
  7. Internet Explorer 닫습니다.

웹 서버 인증서 기반 인증 구성

이 섹션에서는 SecureSite 프로젝트를 인증에 인증서를 사용하도록 구성합니다. 클라이언트 인증서를 사용하려면 서버 쪽 인증서를 설치해야 합니다. 기존 서버 인증서를 인증 기관에서 사용할 수도 있고 Microsoft 인증서 서비스를 사용한 서버 쪽 인증서를 생성할 수 있습니다.


서버 쪽 인증서 요청 만들기

  1. 시작 메뉴에서 프로그램, 관리 도구 차례로 가리킨 다음 인터넷 서비스 관리자 를 누릅니다.
  2. 사용자 서버의 노드를 확장한 다음 기본 웹 사이트 를 클릭하십시오.
  3. 동작 메뉴에서 속성 을 클릭하십시오.
  4. 디렉터리 보안 탭의 서버 인증서 를 누릅니다. 마법사의 다음 이 단계를 수행하십시오.
    1. 마법사의 첫 페이지에서 다음 을 클릭하십시오.
    2. 서버 인증서 페이지에서 새 인증서 만들기 를 클릭한 후 다음 을 클릭하십시오.
    3. 요청 연기 또는 즉시 요청 페이지에서 요청을 지금 준비하지만 나중에 보냅니다 를 클릭한 후 다음 을 클릭하십시오.
    4. 이름 및 보안 설정 페이지에서 기본 설정을 그대로 두고 을 누릅니다.
    5. 조직 정보 페이지에서 MSDN 조직에 대한 How To 문서 조직 구성 단위에 대해 입력한 후 다음 을 클릭하십시오.
    6. 사이트 일반 이름 페이지에서 localhost 를 입력한 후 다음 을 클릭하십시오.
    7. 지역 정보 페이지의 국가, 지역 및 구/군/시 정보를 입력하고 을 누릅니다.
    8. 인증서 요청 파일 이름 페이지에서 기본 파일 이름 (일반적으로 c:\certreq.txt)을 그대로 두고 을 누릅니다.
    9. 요청 파일 요약 페이지에 모든 세부 사항을 맞는지 확인하고 다음 을 클릭하여 확인하십시오.
    10. 마법사를 닫으려면 마침 을 클릭하십시오.
  5. 생성되는 인증서 파일을 열고 인증서 파일의 전체 내용을 클립보드로 복사하십시오.

서버 쪽 인증서 요청 제출 수

  1. Internet Explorer를 시작하고 다음 페이지로 이동하십시오.
    http://localhost/CertSrv
    참고: Microsoft 인증서 서비스가 설치되어 있어야 합니다.
  2. 마법사의 다음 이 단계를 수행하십시오.
    1. 인증서 요청 을 누르고 을 누릅니다.
    2. 요청 종류 선택 페이지에서 고급 요청을 클릭한 후 다음 을 클릭하십시오.
    3. 고급 인증서 요청 페이지에서 64 기수로 사용하여 인증서 요청 제출 인코드된 PKCS # 10 파일을 클릭한 후 다음 을 클릭하십시오.
    4. 저장된 요청 제출 페이지에서 Base64로 인코딩된 인증서 요청 (PKCS # 10 또는 # 7) 상자에 클릭한 다음 클립보드로 복사한 인증서 요청을 붙여 넣으려면 Ctrl + V 키 조합을 누릅니다. 전송 을 누릅니다.
  3. Internet Explorer 닫습니다.

서버 쪽 발급할 인증서

  1. 시작 메뉴에서 프로그램, 관리 도구 차례로 가리킨 다음 인증 기관 을 누릅니다.
  2. 인증 기관에 대한 노드를 확장한 다음 대기 중인 요청 선택하십시오.
  3. 방금 제출한 인증서 요청을 선택하십시오. 동작 메뉴에서 모든 작업 가리킨 다음 발급 을 클릭하십시오.
  4. 인증서가 발급된 인증서 폴더에서 표시됩니다 확인한 다음 보려는 인증서를 두 번 클릭하십시오.
  5. 자세히 탭에서 파일에 복사 를 클릭하십시오. Base-64 인코딩된 X.509 인증서 C:\Servercert.cer 수 있는 인증서를 저장하십시오.
  6. 인증서에 대한 속성 대화 상자를 닫습니다.
  7. 인증 기관 도구를 닫습니다.

서버 쪽 인증서 설치

  1. 시작 메뉴에서 프로그램, 관리 도구 차례로 가리킨 다음 인터넷 서비스 관리자 를 누릅니다.
  2. 사용자 서버의 노드를 확장한 다음 기본 웹 사이트 를 클릭하십시오.
  3. 동작 메뉴에서 속성 을 클릭하십시오.
  4. 디렉터리 보안 탭의 서버 인증서 를 누릅니다. 마법사의 다음 이 단계를 수행하십시오.
    1. 마법사의 첫 페이지에서 다음 을 클릭하십시오.
    2. 인증서를 설치하려면 보류 중인 요청 처리 클릭한 후 다음 을 클릭하십시오.
    3. 이전에 저장한 C:\Servercert.cer 인증서 파일을 찾습니다. 다음 두 번 클릭한 다음 마침 을 클릭하십시오.
  5. 속성 대화 상자를 닫으려면 확인 을 클릭하십시오.

SSL 및 클라이언트측 인증서를 SecureSite 사이트 구성

  1. 인터넷 서비스 관리자에서 SecureSite 하위 웹을 선택하고 해당 속성을 봅니다.
  2. 마법사의 다음 이 단계를 수행하십시오.
    1. 편집보안 통신 섹션에서 디렉터리 보안 탭을 클릭하십시오.
    2. 보안 채널 (SSL) 확인란을 선택하십시오. 그러면 이 하위 웹에 통신이 암호화됩니다.
    3. 클라이언트 인증서 필요 확인란을 선택하십시오. 이렇게 하면 사이트의 클라이언트 인증서가 설치되어 있는 사용자는 경우에만 볼 수 있습니다.
    4. 클라이언트 인증서 매핑 사용 확인란을 선택하십시오. Windows 사용자 계정에 클라이언트 인증서를 매핑하는 데 사용됩니다.
    5. 편집 을 클릭하십시오. 각 인증서 개별 Windows 계정에 매핑할 수 또는 동일한 Windows 계정에 여러 인증서를 매핑할 수 있습니다.
    6. 여러 1 탭의 매핑 규칙을 추가하려면 추가 클릭하십시오. 이 매핑 규칙, 이 규칙 이름을 지정하고 을 누릅니다.
    7. 인증서의 제목 구역의 O 하위 필드 (조직) "MSDN" 조건을 가진 새 규칙을 만들려면 새로 만들기를 클릭하십시오. "MSDN" 조직 특성을 인증서에는 사용자에게 매핑을 적용하려면 확인 클릭하십시오. 프로덕션 환경에서 매핑 규칙을 엄격한 및 종종 제목을 뿐만 아니라 인증서 발급자 유효성을 검사합니다. 다음 을 클릭하십시오.
    8. 매핑 페이지의 이 인증서를 로그온 인증으로 수락 을 선택하십시오. MSDN 사용자에게 매핑할 Windows 계정을 선택하려면 찾아보기 를 클릭하십시오. 이 예를 들어, 관리자 계정을 사용하십시오. (실제 응용 프로그램 전용된 Windows 계정이 제한된 권한으로 만들면.) 올바른 암호를 입력해야 합니다.
    9. 마침 을 누른 다음 암호를 확인하십시오.
  3. 계정 매핑 대화 상자를 닫으려면 확인 을 클릭하십시오.
  4. 보안 통신 대화 상자를 닫으려면 확인 을 클릭하십시오. 자식 파일 및 폴더 설정을 적용할 것인지 묻는 메시지가 나타나면 모두 선택 을 누른 다음 확인 을 누릅니다.
  5. SecureSite 속성 대화 상자를 닫으려면 확인 을 클릭하십시오.

인증서 기반 인증 확인 수

  1. Internet Explorer를 시작하고 다음 페이지로 이동하십시오.
    https://localhost/SecureSite/WebForm1.aspx
    보안 프로토콜 https를 사용하여 확인할 수 있습니다.
  2. 페이지에 클라이언트 인증서가 필요한 메시지가 있는지 확인하십시오.
  3. Internet Explorer 닫습니다.

클라이언트 인증서 설치

이 단원에서는 클라이언트측 인증서를 설치합니다. 인증 기관의 인증서를 사용하거나 Microsoft 인증서 서비스를 사용하여 자체 인증서를 생성할 수 있습니다.


클라이언트 쪽 인증서 요청 수

  1. Internet Explorer를 시작하고 다음 페이지로 이동하십시오.
    http://localhost/CertSrv
  2. 마법사의 다음 이 단계를 수행하십시오.
    1. 인증서 요청 을 누르고 을 누릅니다.
    2. 요청 종류 선택 페이지에서 웹 브라우저 인증서 를 클릭한 후 다음 을 클릭하십시오.
    3. 필요한 정보를 입력하십시오. MSDN회사 텍스트 상자에 입력한 확인하십시오.
    4. 요청을 완료하려면 제출 클릭하십시오.
  3. Internet Explorer 닫습니다.

클라이언트 쪽 발급할 인증서

  1. 관리 도구 프로그램 그룹에서 인증 기관 도구를 시작하십시오.
  2. 인증 기관에 대한 노드를 확장한 다음 대기 중인 요청 선택하십시오.
  3. 방금 제출한 인증서 요청을 선택하십시오. 동작 메뉴에서 모든 작업 가리킨 다음 발급 을 클릭하십시오.
  4. 인증서가 발급된 인증서 폴더에서 표시됩니다 확인한 다음 보려는 인증서를 두 번 클릭하십시오.
  5. 자세히 탭에서 파일에 복사 를 클릭하십시오. Base-64 인코딩된 X.509 인증서 C:\Clientcert.cer 수 있는 인증서를 저장하십시오.
  6. 인증서에 대한 속성 대화 상자를 닫습니다.
  7. 인증 기관 도구를 닫습니다.

클라이언트측 인증서를 설치하려면

  1. Windows 탐색기를 열고 Clientcert.cer 인증서 파일을 보려면 두 번 클릭하십시오.
  2. 인증서 가져오기 마법사에서 다음 이 단계를 수행하십시오.
    1. 마법사의 첫 페이지에서 인증서 설치 를 클릭한 후 다음 을 클릭하십시오.
    2. 인증서 종류 기준으로 인증서 저장소를 자동으로 선택 확인란을 선택하고 을 누릅니다.
    3. 마법사를 완료하려면 마침 을 클릭하십시오.
  3. 확인 메시지 상자를 닫고 인증서를 닫으려면 확인 클릭하십시오.

It 제대로 작동하는지 확인하십시오.

이 섹션에서 "MSDN" 로 회사 수 지정 인증서 사용하여 클라이언트 응용 프로그램을 SecureSite 사이트를 보는 확인합니다. 사용자 매핑 규칙에 지정된 계정에 매핑됩니다.
  1. Internet Explorer를 시작하고 다음 페이지로 이동하십시오.
    https://localhost/SecureSite/WebForm1.aspx
  2. 해당 확인:
    • 웹 페이지가 나타납니다.
    • 적절한 Windows 계정이 사용됩니다.
    • "MSDN" 조직 인증서에서 읽습니다.

참조

웹 사이트의 보안을 위해 SSL (Secure Sockets Layer) 사용하는 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
298805방법: IIS에서 웹 사이트와 상호 작용하는 모든 고객에 대하여 SSL 사용

속성

기술 자료: 315588 - 마지막 검토: 2007년 12월 3일 월요일 - 수정: 4.6
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
키워드:?
kbmt kbhowtomaster kbsecurity KB315588 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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