Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 3개 있습니다.)
인증서 갱신 오류 - The request contains no certificate template information.

테스트 서버의 이벤트 로그에 며칠 전부터 이상한 경고성 로그가 발견되었습니다.

Log Name:      Application
Source:        Microsoft-Windows-CertificateServicesClient-AutoEnrollment
Date:          3/30/2011 10:54:17 AM
Event ID:      64
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      adserverr2.TestAD.kr
Description:
Certificate for local system with Thumbprint ...[생략]... is about to expire or already expired.

지정된 "Thumbprint"의 인증서는 AD 인증 서버로부터 발급받은 것으로 실제로 만료 시간이 올해 5월로 다가오고 있었습니다.

이를 해결하기 위해 "인증서 관리자" MMC 콘솔을 실행하고, 갱신을 다음과 같이 "Advanced Options" / "Renew This Certificate with the Same Key..." 메뉴를 이용해서 실행했습니다.

how_to_renew_cert_1.png

오호, 그런데 다음과 같은 에러가 발생합니다.

how_to_renew_cert_2.png

"
Enrollment error
The request contains no certificate template information.
"


검색을 해봐도 이에 관해서는 딱히 적당한 해결책이 나오지 않았습니다. 할 수 없이, 알고 있는 방법 중에서 차선책으로 CA 측에서 제공하는 웹 인터페이스를 이용해 보았습니다.

이를 위해, 기존 만료되어가는 인증서를 "Base-64 encoded X.509" 포맷으로 내보낸 후, "http://localhost/certsrv/default.asp" 페이지를 방문, "Request a certificate" / "advanced certificate request" / "Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file." 링크까지 연결해서 다음과 같이 certrqxt.asp 페이지에서 제출해 보았습니다.

how_to_renew_cert_3.png

사실, 그렇게 하는 것이 올바른지도 모르겠지만 이것저것 아는 데로 시도해보는 수밖에 없었지요. 아쉽게도 결론은 다음과 같은 에러만 볼 수 있을 뿐이었습니다.

"
Your certificate request was denied.

Your Request Id is 0. The disposition message is "Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)".

Contact your administrator for further information.
"


더 이상 생각나는 것이 없어서, 일단 여기서 포기... 까지 하려고 했는데요. ^^




천천히, 다시 생각해 봤습니다. 음... 그러고 보니 이 인증서를 IIS 관리자에서 발급 신청했었던 것 같습니다. 옳거니... 그렇다면 갱신도 IIS 관리자에서 해봐야 겠다는 생각이 들었습니다. IIS 관리자를 실행하고, "Server Certificates" 기능에서 해당 인증서를 선택하고 "Renew..." 메뉴를 실행했습니다.

how_to_renew_cert_4.png

대화창이 뜨고 나서, 다음과 같이 "Renew an existing certificate"를 선택하고,

how_to_renew_cert_5.png

그러면 CA 서버 지정 화면이 나옵니다. 입력 형식이 "CertificateAuthorityName\ServerName"이라고 하는데, 일단 CA 이름은 "CA 관리자" MMC 콘솔을 실행한 경우 보이는 노드의 "w32.sysnet.pe.kr" 이름을 가져왔고, "ServerName" 영역은 CA 서버가 설치된 컴퓨터의 이름을 입력했습니다.

how_to_renew_cert_6.png

그렇게 해서 완료 버튼을 누르니 다음과 같이 요청이 전달되었으나 발행이 안되었다는 메시지를 볼 수 있습니다. (대화창의 아이콘과는 다르게 다행히 이것은 오류가 아닙니다.)

how_to_renew_cert_7.png

"
Renew an Existing Certificate

The certificate request was submitted to the online authority, but was not issued.
"


일단, "OK" 버튼을 누르고 "Cancel" 버튼을 눌러 "Renew an Existing Certificate" 대화창을 빠져나갑니다.

그런 후, CA 관리자에 가보면 다음과 같이 "Pending Requests"에 방금 전의 인증서 요청 항목이 있는 것을 확인할 수 있습니다.

how_to_renew_cert_8.png

보류 중인 해당 인증서를 선택하고 마우스 오른쪽 버튼을 눌러, "Issue"를 해주면, "Issued Certificates" 노드로 인증서가 이동합니다. 그렇게 해서 발급 완료된 인증서를 "Base-64 encoded X.509" 파일로 내보내기해서 저장해 둡니다.

다시 IIS 관리자로 돌아와서, 이번에는 만료가 가까워진 그 인증서를 선택하고 "Complete Certificate Request..." 메뉴를 실행합니다.

how_to_renew_cert_9.png

파일을 지정하는 대화창이 나오면, 위에서 저장해 둔 cer 파일을 지정하면, 인증서 갱신이 정상적으로 완료됩니다.



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

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/27/2021]

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

비밀번호

댓글 작성자
 




... [151]  152  153  154  155  156  157  158  159  160  161  162  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
1276정성태4/28/201222987Phone: 5. 모든 Marketplace에 윈폰 앱을 등록하는 방법 [1]
1275정성태4/28/201226876개발 환경 구성: 150. 프로세스 실행으로 잠긴 파일이지만, 이름은 변경가능하다는 사실! 아셨나요? [7]
1274정성태4/17/201221439Phone: 4. "Holiday Calendar" 윈폰 응용 프로그램 등록
1273정성태4/6/201224672Phone: 3. 윈도우 폰을 위한 Holiyday Calendar 앱 개발파일 다운로드1
1272정성태4/5/201226212오류 유형: 151. ASP.NET - EcbGetUnicodeServerVariables 코드에서 System.AccessViolationException 예외 발생
1271정성태4/3/201228879Math: 6. 동전을 여러 더미로 나누는 경우의 수 세기 [1]
1270정성태3/29/201222789오류 유형: 150. Visual Studio 2010 원격 디버깅 오류 - Kerberos authentication failed
1269정성태3/27/201236627오류 유형: 149. ODP.NET 오류 - The provider is not compatible with the version of Oracle client
1268정성태3/27/201233152오류 유형: 148. WCF svc 호출 시 HTTP Error 404.17 - Not Found [1]
1267정성태3/16/201231103.NET Framework: 314. C++의 inline asm 사용을 .NET으로 포팅하는 방법 [1]파일 다운로드1
1266정성태3/14/201234321개발 환경 구성: 149. RAID 1 구성 시 하드 디스크 장애 발생 해결에 대한 경험담
1265정성태3/13/201224655VC++: 61. 아이태니엄(IA64: Itanium) 에서 겪은 C++ 포인터 연산 문제 [2]
1264정성태3/10/201244008.NET Framework: 313. WELL512 난수 발생 알고리즘 - C# [5]파일 다운로드1
1263정성태3/9/201222836개발 환경 구성: 148. tinyget 사용법
1262정성태3/8/201243719개발 환경 구성: 147. .keystore 파일에 저장된 개인키 추출 방법과 인증기관으로부터 온 공개키를 합친 pfx 파일 만드는 방법 [1]
1261정성태3/7/201224431Phone: 2. 개발자용 윈도우 폰 7 기기 등록하는 방법
1260정성태3/6/201224282Phone: 1. 윈도폰 7 개발자 (회사) 등록하는 방법 [3]
1259정성태3/4/201235750Windows: 57. 새로 추가된 네트워크 커널 디버깅 및 PowerShell 3.0 [1]
1258정성태3/3/201237392개발 환경 구성: 146. SQL Server 2012에 포함된 LocalDB 기능 소개 [3]파일 다운로드1
1257정성태3/3/201225592.NET Framework: 312. Native 스레드와 Managed 스레드 개체의 상태 관계 [1]파일 다운로드1
1256정성태3/3/201229121Math: 5. Euler's totient function - C#파일 다운로드1
1255정성태3/3/201231490Math: 4. 소수 판정 및 소인수 분해 소스 코드 - C# [1]파일 다운로드1
1254정성태3/1/201226408Windows: 56. Windows 8 Consumer Preview를 사용해 보고... [1]
1253정성태3/1/201227898VS.NET IDE: 71. Visual Studio 11 Ultimate 베타 설치 [3]
1252정성태3/1/201225278Windows: 55. 윈도우 8 베타 설치 과정 [1]
1251정성태2/27/201229216VC++: 60. C/C++ Native 스레드 콜 스택 덤프를 얻는 공개 라이브러리 [2]파일 다운로드1
... [151]  152  153  154  155  156  157  158  159  160  161  162  163  164  165  ...