CA 인증서의 체인에 있는 인증서가 만료되었습니다.
체인 또는 경로 유효성 검사는 인증서 체인이 신뢰할 수 있는 자체 서명 인증서에서 종료될 때까지 최종 엔터티(사용자 또는 컴퓨터) 인증서 및 모든 CA(인증 기관) 인증서가 계층적으로 처리되는 프로세스입니다. 일반적으로 신뢰할 수 있는 자체 서명 인증서는 루트 CA 인증서입니다. 가용성, 유효성 및 CA 인증서에 대한 체인 유효성 검사와 관련된 문제가 있을 경우 AD CS(Active Directory 인증서 서비스)를 시작하지 못할 수 있습니다.
만료된 CA 인증서의 체인에 있는 인증서 재발급
만료된 CA(인증 기관) 인증서는 이벤트 로그에서 식별됩니다. 이 문제를 해결하려면:
인증서가 만료되었는지 확인합니다.
인증서 체인을 확인합니다.
문제가 지속될 경우 CryptoAPI 2.0 진단을 사용하여 발견된 오류를 모두 해결한 다음 만료된 인증서를 재발급하고 다시 설치합니다.
이러한 절차를 수행하려면 CA 관리 권한이 있거나 적절한 권한을 위임받아야 합니다.
CA 인증서 만료 확인
특정 CA 인증서가 만료되었는지 확인하려면:
CA를 호스트하는 컴퓨터에서 시작을 클릭하고 관리 도구를 가리킨 다음 인증 기관을 클릭합니다.
CA 노드를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
만료된 인증서는 CA 인증서 목록에서 (만료됨)이라는 단어와 함께 나열됩니다. 모든 CA 인증서가 만료된 경우 CA 인증서를 갱신하고 만료된 인증서 아래의 모든 인증서를 다시 발급해야 합니다.
CA 인증서를 갱신하려면 CA 노드를 마우스 오른쪽 단추로 클릭하고 모든 작업을 가리킨 다음 CA 인증서 갱신을 클릭합니다.
CA 인증서가 갱신되면 CA를 다시 시작합니다.
목록에 만료되지 않은 인증서가 있는 경우 CA 버전 번호가 오류 메시지의 키 ID와 일치하는 인증서를 찾습니다. 예를 들어 키 ID가 2인 경우 CA 버전이 2.1 또는 2.2인 인증서가 만료된 인증서입니다.
이 인증서가 만료되지 않은 경우 인증서 체인에 문제가 있는지 확인합니다. 인증서를 파일로 내보낸 다음 명령 프롬프트 창을 열고 certutil -urlfetch -verify<CAcert.cer>을 입력한 후 <Enter> 키를 누릅니다. CAcert.cer을 인증서 파일 이름으로 바꿉니다.
CryptoAPI 2.0 진단 사용
CryptoAPI 2.0 진단을 사용하려면:
CA를 호스트하는 컴퓨터에서 시작을 클릭하고 관리 도구를 가리킨 다음 이벤트 뷰어를 클릭합니다.
콘솔 트리에서 이벤트 뷰어, 응용 프로그램 및 서비스 로그, Microsoft, Windows 및 CAPI2를 차례로 확장합니다.
작동을 마우스 오른쪽 단추로 클릭하고 로그 사용을 클릭합니다.
시작을 클릭하고 관리 도구를 가리킨 다음 서비스를 클릭합니다.
AD CS(Active Directory 인증서 서비스)를 마우스 오른쪽 단추로 클릭하고 다시 시작을 클릭합니다.
CA(인증 기관) 인증서 및 해당 체인이 유효한지 확인하려면:
CA를 호스트하는 컴퓨터에서 시작을 클릭하고 mmc를 입력한 다음 Enter 키를 누릅니다.
사용자 계정 컨트롤 대화 상자가 나타나면 표시되는 작업이 원하는 작업인지 확인한 다음 계속을 클릭합니다.
파일 메뉴에서 스냅인 추가/제거, 인증서, 추가를 차례대로 클릭합니다.
컴퓨터 계정을 클릭하고 다음을 클릭합니다.
마침을 클릭한 다음 확인을 클릭합니다.
콘솔 트리에서 인증서(로컬 컴퓨터)를 클릭한 다음 개인을 클릭합니다.
만료되지 않은 CA 인증서가 이 저장소에 있는지 확인합니다.
인증서를 마우스 오른쪽 단추로 클릭하고 내보내기를 선택하여 인증서 내보내기 마법사를 시작합니다.
인증서를 Cert.cer이라는 파일로 내보냅니다.
Start, cmd를 차례로 입력하고 Enter 키를 누릅니다.
certutil -urlfetch -verify <cert.cer>을 입력하고 <Enter> 키를 누릅니다.
보고된 유효성 검사, 체인 만들기 또는 해지 확인 오류가 없을 경우 체인은 유효합니다.
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.58_Error" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">58</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageIDa56c8730d300410882edc1f355f85f5d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>