인증서 서비스가 암호화 키에 지정된 공급자를 사용하지 못했습니다.
키 보관을 지원하려면 AD CS(Active Directory 인증서 서비스)에는 키 복구 에이전트 인증서, 교환(XCHG) 인증서 및 키가 필요합니다. 키 복구 에이전트 인증서, XCHG 인증서 및 인증서를 만드는 데 필요한 CSP(암호화 서비스 공급자)의 작용은 공개 키 인프라에 중요합니다.
키 보관 및 복구를 지원하는 암호화 서비스 공급자 사용
관리 도구를 사용하면 암호화 및 암호화 인증서 생성을 위한 관련 작업을 수행하는 소프트웨어 구성 요소인 암호화 공급자로 인해 발생한 문제를 해결하지 못할 수 있습니다. 그러나 다음 작업을 통해 문제 해결 프로세스에서 도움이 되는 진단 정보를 확인할 수 있습니다.
암호화 공급자를 식별하고 테스트합니다.
문제가 지속되는데 타사 공급자를 사용 중인 경우에는 공급업체에 문제 해결 정보를 문의하십시오.
기본 암호화 키 공급자로 다시 설정할 수 있습니다. 그러나 새 공급자를 기반으로 새 인증서를 발급하기 위해 현재 CA 교환 인증서를 해지해야 합니다.
문제가 지속되는데 Microsoft 공급자를 사용 중인 경우에는 Microsoft 고객 서비스 및 지원 센터에 문의하십시오.
암호화 공급자 식별 및 테스트
이러한 절차를 수행하려면 CA 관리 권한이 있거나 적절한 권한을 위임받아야 합니다.
사용 중인 암호화 공급자를 식별하여 테스트하려면:
명령 프롬프트 창을 엽니다.
certutil -getreg ca\EncryptionCSP를 입력하고 Enter 키를 누릅니다.
certutil -csp <공급자 이름> -csptest를 입력하고 <Enter> 키를 누릅니다. providername을 2단계의 출력에서 식별된 공급자로 바꿉니다.
타사 암호화 공급자를 사용할 경우 도움이 필요하면 해당 공급업체에 문의하십시오. 그렇지 않은 경우에는 Microsoft 고객 서비스 및 지원 센터에 문의하십시오.
기본 암호화 키 공급자 다시 설정
이 절차를 수행하려면 로컬 관리자 그룹의 구성원이거나 적절한 권한을 위임받아야 합니다.
다음 레지스트리 키를 Microsoft Software Key Storage Provider로 설정하여 암호화 인증서에 기본 Microsoft 공급자를 사용하도록 CA(인증 기관)를 구성할 수 있습니다.
참고: 현재 CA 교환 인증서가 하나 있다면 해지해야 할 수 있습니다. 그러면 새 공급자를 기반으로 한 새 인증서가 발급됩니다. 그런 다음 CA를 다시 시작합니다.
구성된 암호화 키 공급자를 수정하려면:
주의: 레지스트리를 잘못 편집하면 시스템이 심각하게 손상될 수 있습니다. 레지스트리를 변경하기 전에 중요한 데이터를 모두 백업해야 합니다.
CA를 호스트하는 컴퓨터에서 [시작]을 클릭하고 regedit를 입력한 다음 <Enter> 키를 누릅니다.
HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CA 이름\EncryptionCSP\Provider로 이동합니다.
나열된 값을 Microsoft Software Key Storage Provider로 변경합니다.
인증 기관 스냅인을 엽니다.
콘솔 트리에서 [발급된 인증서]를 클릭합니다.
세부 정보 창에서 [CA 교환 인증서]를 선택합니다.
작업 메뉴에서 모든 작업을 가리킨 다음 인증서 해지를 클릭합니다.
인증서 해지 이유를 선택하고 필요한 경우 해지 시간을 조정한 다음 예를 클릭합니다.
CA를 다시 시작합니다.
키 보관 및 복구 가 제대로 작동하는지 확인하려면:
CA를 호스트하는 컴퓨터에서 시작을 클릭하고 관리 도구를 가리킨 다음 인증 기관을 클릭합니다.
콘솔 트리에서 CA(인증 기관)의 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
복구 에이전트 탭을 클릭합니다.
모든 키 복구 에이전트 인증서가 유효함으로 표시되어 있는지 확인합니다.
인증서 템플릿 컨테이너에서 암호화 인증서에 요청 처리 탭에서 구성한 주체의 암호화 개인 키 보관 옵션이 있는지 확인합니다.
이 인증서 템플릿을 기반으로 인증서를 등록할 권한이 있는 사용자 계정에 대한 인증서 스냅인을 엽니다.
콘솔 트리에서 개인을 마우스 오른쪽 단추로 클릭하고 모든 작업을 가리킨 다음 새 인증서 요청을 클릭하여 인증서 등록 마법사를 시작합니다.
암호화 템플릿을 기반으로 인증서를 등록하고 등록이 성공적으로 완료되었고 보고된 오류가 없는지 확인합니다.
등록이 완료되면 인증 기관 스냅인을 엽니다.
콘솔 트리에서 발급된 인증서를 클릭합니다.
방금 발급된 인증서에 해당하는 항목을 찾아 보관된 키 열을 스냅인 표시 목록에 추가합니다.
Yes라는 단어가 방금 발급된 인증서에 해당하는 보관된 키 열에 표시되어 있는지 확인합니다.
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 86 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
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.86" 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="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">86</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</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="AlertMessageIDda66f694c2aa435dbbbc3e09e3585e3d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>