Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 18.5. 사용자 인증서 발급 [링크 복사], [링크+제목 복사],
조회: 30652
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기
(연관된 글이 6개 있습니다.)

4. 사용자 인증서 발급


인증서가 여러 용도가 있을 수 있겠지만, 현실적으로 크게 2가지로 나눠보자면, "서버 인증서"와 "사용자 인증서"를 예로 들 수 있겠습니다. "서버 인증서"의 경우에는 이미 발급 및 설치 방법을 아래의 토픽에서 설명 드린 바 있습니다.

18.2. 웹 사이트에 SSL 을 적용 
; https://www.sysnet.pe.kr/2/0/372

그럼 이번에는 "사용자 인증서"를 발급 및 설치하는 방법에 대해 알아볼 차례이군요. 앞으로의 이야기는 당연히 여러분들이 위의 내용을 이미 읽었다는 가정하에 진행을 하겠습니다.



[사용자 인증서 요청 작성]

사용자 인증서를 받는 방법은 사실 서버 인증서를 받을 때와 크게 다르지 않습니다. 단지 서버 인증서의 경우에는 "IIS 관리자" 에서 "요청 파일"을 만들기 위한 위저드가 제공되어진다는 점만 다를 뿐입니다. 일반 사용자의 경우에는 아래에서 설명하는 단계를 거쳐서 인증서를 발급받을 수 있습니다. 물론, 인증서 서비스 및 인증서 관련한 모든 기능들이 COM 개체로 제공되기 때문에 원한다면 얼마든지 별도로 관리 응용 프로그램을 만들 수도 있습니다.

환경 설정 가정:
  운영체제 : Windows 2003
  인증서 서비스 : Windows 2003 에서 제공되는 기본 "Certification Authority"
  인증서 서비스가 설치된 컴퓨터 이름 : sedona2

1. "https://sedona2/certsrv" 사이트를 방문합니다. 그럼 아래와 같은 화면이 나오게 됩니다. 여기에서 "Request a certificate" 메뉴를 선택합니다.

인증서 서비스 웹 응용 프로그램

2. 아래와 같이 인증서 종류를 선택하는 화면에서 "Web Browser Certificate"를 선택합니다.

인증서 종류 선택

3. 이제 여러분들의 신상 정보를 입력할 화면이 나오게 됩니다. 이름과 이메일, 회사, 부서 정보 등을 입력하고 "Submit" 버튼을 누르십시오.

인증서 발급을 위한 정보 입력

그러면, 다음과 같은 질문을 받게 됩니다.

This Web site is requesting a new certificate on your behalf. 
You should allow only trusted Web sites to request a certificate for you.
Do you want to request a certificate now?

"Yes" 로 응답해 줍니다.

4. 이제 잠깐의 시간이 흐른 다음 아래 화면과 같은 응답을 받을 수 있습니다. 중요한 것은 요청 ID 값이 "4"번이라는 것입니다.

요청 전송 완료




[요청된 인증서 발급]

위와 같은 과정을 거쳐서 사용자들은 요청을 보내게 됩니다. 이렇게 요청은 보냈지만, 승인할 수 있는 것은 "관리자"의 몫입니다. "18.2. 웹 사이트에 SSL 을 적용"을 읽어 보신 분들은 그 방법을 아실 텐데요. 생각이 안나시는 분들은 다음을 읽어보시면 됩니다.

3. 인증서 서비스에서 해당 "요청"을 승인
; https://www.sysnet.pe.kr/2/0/372#process_a_request




[사용자 인증서 설치]

아마도 관리자는 위와 같은 과정을 거친 후에는 해당 사용자에게 알려주어야 할 것입니다. 그럼, 이제 사용자는 신청했던 인증서를 자신의 컴퓨터의 설치해야 겠지요. 이 방법 역시 "18.2. 웹 사이트에 SSL 을 적용"을 읽어 보신 분들이라면 쉽게 아실 수 있을 것입니다.

1. "https://sedona2/certsrv" 사이트를 방문합니다. 이번에는 "View the status of a pending certificate request" 메뉴를 선택합니다.

2. 그럼, 아래와 같이 자신이 보냈던 요청에 대한 목록을 보여줍니다. 해당 링크를 선택합니다.

요청한 인증서 선택

3. 오... 관리자가 정말로 ^^ 내가 신청한 인증서를 발급해 주었군요.

발급된 인증서

"Install this certificate" 링크를 누르면 다음과 같이 묻는 창이 뜨게 됩니다.

This Web site is adding one or more certificates to this computer.
Allowing an untrusted Web site to update your certificates is a security risk.
The Web site could install certificates you do not trust, which could allow programs
that you do not trust to run on this computer and gain access to your data.

Do you want this program to add the certificates now?
Click Yes if you trust this Web site. Otherwise, click No.

주저하지 말고 "Yes"를 선택합니다.

4. 이로써 인증서를 받기 위한 모든 작업은 완료되었습니다. 여러분들의 인증서가 정상적으로 설치되었는 지 확인하기 위해서 Internet Explorer 에서 "도구" 메뉴 / "인터넷 옵션" 메뉴를 선택한 후, "내용" 탭을 누르고 "인증서" 메뉴를 선택하면 다음 화면과 같이 인증서가 설치된 것을 확인할 수 있습니다.

IE 에서 확인




[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 8/29/2019]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  [110]  111  112  113  114  115  116  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11174정성태4/3/201719447VC++: 116. Visual Studio 단위 테스트 - Failed to set up the execution context to run the test
11173정성태4/3/201722988VC++: 115. Visual Studio에서 C++ DLL을 대상으로 단위 테스트할 때 비정상 종료한다면?파일 다운로드1
11172정성태4/3/201722153.NET Framework: 651. C# - 특정 EXE 프로세스를 종료시킨 EXE를 찾아내는 방법파일 다운로드1
11171정성태3/31/201718854VS.NET IDE: 114. Visual Studio 디버깅 경고 창 - You are debugging a Release build of ...
11170정성태3/31/201720738.NET Framework: 650. C# - CachedAnonymousMethodDelegate 유형의 코드 생성
11169정성태3/30/201720597VC++: 114. C++ vtable의 가상 함수 호출 가로채기파일 다운로드1
11168정성태3/29/201723917VC++: 113. C++ 클래스 상속 관계의 vtable 생성 과정
11167정성태3/28/201724247VC++: 112. C++의 가상 함수 테이블 (vtable)은 언제 생성될까요? [2]
11166정성태3/28/201718478오류 유형: 382. System.Data.SqlClient.SqlException - Arithmetic overflow error converting IDENTITY to data type int.
11165정성태3/27/201721751오류 유형: 381. Visual C++에서 min, max 함수를 사용한 경우 C2589, C2059 컴파일 오류 발생
11164정성태3/27/201730091VC++: 111. C++ 클래스의 상속에 따른 메모리 구조 [2]파일 다운로드1
11163정성태3/25/201719870VC++: 110. CreateThread Win32 API에 C++ 클래스의 멤버 함수를 전달하는 방법파일 다운로드1
11162정성태3/24/201724104오류 유형: 380. Visual Studio 빌드 실패 - The OutputPath property is not set for project
11161정성태3/24/201716804오류 유형: 379. ICOMAdminCatalog.GetCollection 호출 시 0x80070422 예외 발생
11160정성태3/23/201721717.NET Framework: 649. ASP.NET - Server cannot append header after HTTP headers have been sent. (HTTP 헤더를 보낸 후에는 서버에서 헤더를 추가할 수 없습니다.)파일 다운로드1
11159정성태3/23/201719029Windows: 136. Memory-mapped File은 Private Bytes 크기에 포함될까요?파일 다운로드1
11158정성태3/22/201718638디버깅 기술: 85. Windbg - SOS 디버깅 사례 System.NullReferenceException 예외 추적
11157정성태3/22/201721901.NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법파일 다운로드1
11156정성태3/21/201722528.NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법파일 다운로드1
11155정성태3/21/201722766.NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요?파일 다운로드1
11154정성태3/5/201729763VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2]파일 다운로드1
11153정성태3/5/201729137VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제파일 다운로드1
11152정성태3/4/201722821VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점파일 다운로드1
11151정성태3/3/201723397VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1]파일 다운로드1
11150정성태2/21/201719334.NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5]
11149정성태2/21/201723018오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine.
... 106  107  108  109  [110]  111  112  113  114  115  116  117  118  119  120  ...