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

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  26  27  [28]  29  30  ...
NoWriterDateCnt.TitleFile(s)
12944정성태1/28/20229037.NET Framework: 1143. C# - Entity Framework Core 6 개요
12943정성태1/27/20227854.NET Framework: 1142. .NET 5+로 포팅 시 플랫폼 호환성 경고 메시지(SYSLIB0006, SYSLIB0011, CA1416)파일 다운로드1
12942정성태1/27/20228131.NET Framework: 1141. XmlSerializer와 Dictionary 타입파일 다운로드1
12941정성태1/26/20229521오류 유형: 790. AKS/k8s - pod 상태가 Pending으로 지속되는 경우
12940정성태1/26/20226883오류 유형: 789. AKS에서 hpa에 따른 autoscale 기능이 동작하지 않는다면?
12939정성태1/25/20227592.NET Framework: 1140. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 MP3 오디오 파일 인코딩/디코딩하는 예제파일 다운로드1
12938정성태1/24/20229966개발 환경 구성: 633. Docker Desktop + k8s 환경에서 local 이미지를 사용하는 방법
12937정성태1/24/20227801.NET Framework: 1139. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 오디오(mp2) 인코딩하는 예제(encode_audio.c) [2]파일 다운로드1
12936정성태1/22/20227717.NET Framework: 1138. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 멀티미디어 파일의 메타데이터를 보여주는 예제(metadata.c)파일 다운로드1
12935정성태1/22/20227954.NET Framework: 1137. ffmpeg의 파일 해시 예제(ffhash.c)를 C#으로 포팅파일 다운로드1
12934정성태1/22/20227525오류 유형: 788. Warning C6262 Function uses '65564' bytes of stack: exceeds /analyze:stacksize '16384'. Consider moving some data to heap. [2]
12933정성태1/21/20228047.NET Framework: 1136. C# - ffmpeg(FFmpeg.AutoGen)를 이용해 MP2 오디오 파일 디코딩 예제(decode_audio.c)파일 다운로드1
12932정성태1/20/20228492.NET Framework: 1135. C# - ffmpeg(FFmpeg.AutoGen)로 하드웨어 가속기를 이용한 비디오 디코딩 예제(hw_decode.c) [2]파일 다운로드1
12931정성태1/20/20226531개발 환경 구성: 632. ASP.NET Core 프로젝트를 AKS/k8s에 올리는 과정
12930정성태1/19/20227252개발 환경 구성: 631. AKS/k8s의 Volume에 파일 복사하는 방법
12929정성태1/19/20227040개발 환경 구성: 630. AKS/k8s의 Pod에 Volume 연결하는 방법
12928정성태1/18/20227150개발 환경 구성: 629. AKS/Kubernetes에서 호스팅 중인 pod에 shell(/bin/bash)로 진입하는 방법
12927정성태1/18/20226934개발 환경 구성: 628. AKS 환경에 응용 프로그램 배포 방법
12926정성태1/17/20227463오류 유형: 787. AKS - pod 배포 시 ErrImagePull/ImagePullBackOff 오류
12925정성태1/17/20227517개발 환경 구성: 627. AKS의 준비 단계 - ACR(Azure Container Registry)에 docker 이미지 배포
12924정성태1/15/20229033.NET Framework: 1134. C# - ffmpeg(FFmpeg.AutoGen)를 이용한 비디오 디코딩 예제(decode_video.c) [2]파일 다운로드1
12923정성태1/15/20227897개발 환경 구성: 626. ffmpeg.exe를 사용해 비디오 파일을 MPEG1 포맷으로 변경하는 방법
12922정성태1/14/20226985개발 환경 구성: 625. AKS - Azure Kubernetes Service 생성 및 SLO/SLA 변경 방법
12921정성태1/14/20225881개발 환경 구성: 624. Docker Desktop에서 별도 서버에 설치한 docker registry에 이미지 올리는 방법
12920정성태1/14/20226662오류 유형: 786. Camtasia - An error occurred with the camera: Failed to Add Video Sampler.
12919정성태1/13/20226504Windows: 199. Host Network Service (HNS)에 의해서 점유되는 포트
... 16  17  18  19  20  21  22  23  24  25  26  27  [28]  29  30  ...