Windows 엔터프라이즈 인증 기관을 해제하고 모든 관련 개체를 제거하는 방법

이 단계별 문서에서는 Microsoft Windows 엔터프라이즈 CA를 해제하는 방법과 Active Directory 디렉터리 서비스에서 모든 관련 개체를 제거하는 방법을 설명합니다.

적용 대상: Windows Server
원본 KB 번호: 889250

요약

CA(인증 기관)를 제거하는 경우 CA에서 발급한 인증서는 일반적으로 여전히 미해결입니다. 다양한 공개 키 인프라 클라이언트 컴퓨터에서 미해결 인증서를 처리하는 경우 유효성 검사가 실패하고 해당 인증서가 사용되지 않습니다.

이 문서에서는 미해결 인증서를 해지하는 방법과 CA를 성공적으로 제거하는 데 필요한 다양한 다른 작업을 완료하는 방법을 설명합니다. 또한 이 문서에서는 도메인에서 CA 개체를 제거하는 데 사용할 수 있는 여러 유틸리티에 대해 설명합니다.

1단계 - 엔터프라이즈 CA에서 발급한 모든 활성 인증서 해지

  1. 시작을 선택하고 관리 도구를 가리킨 다음 인증 기관을 선택합니다.
  2. CA를 확장한 다음 발급된 인증서 폴더를 선택합니다.
  3. 오른쪽 창에서 발급된 인증서 중 하나를 선택한 다음 Ctrl+A를 눌러 발급된 모든 인증서를 선택합니다.
  4. 선택한 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업을 선택한 다음 인증서 해지를 선택합니다.
  5. 인증서 해지 대화 상자에서 해지 이유로 작업 중단을 선택한 다음 확인을 선택합니다.

2단계 - CRL 게시 간격 늘리기

  1. 인증 기관 MMC(Microsoft Management Console) 스냅인에서 해지된 인증서 폴더를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.
  2. CRL 게시 간격 상자에 적절한 긴 값을 입력한 다음 확인을 선택합니다.

참고

CRL(인증서 해지 목록)의 수명은 해지된 인증서의 수명보다 길어야 합니다.

3단계 - 새 CRL 게시

  1. 인증 기관 MMC 스냅인에서 해지된 인증서 폴더를 마우스 오른쪽 단추로 클릭합니다.
  2. 모든 작업을선택한 다음 게시를 선택합니다.
  3. CRL 게시 대화 상자에서 새 CRL을 선택한 다음 확인을 선택합니다.

4단계 - 보류 중인 요청 거부

기본적으로 엔터프라이즈 CA는 인증서 요청을 저장하지 않습니다. 그러나 관리자는 이 기본 동작을 변경할 수 있습니다. 보류 중인 인증서 요청을 거부하려면 다음 단계를 수행합니다.

  1. 인증 기관 MMC 스냅인에서 보류 중인 요청 폴더를 선택합니다.
  2. 오른쪽 창에서 보류 중인 요청 중 하나를 선택한 다음 Ctrl+A를 눌러 보류 중인 모든 인증서를 선택합니다.
  3. 선택한 요청을 마우스 오른쪽 단추로 클릭하고 모든 작업을 선택한 다음 요청 거부를 선택합니다.

5단계 - 서버에서 인증서 서비스 제거

  1. 인증서 서비스를 중지하려면 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 확인을 선택합니다.

  2. 명령 프롬프트에서 certutil -shutdown을 입력한 다음 Enter 키를 누릅니다.

  3. 명령 프롬프트에서 certutil -getreg CA\CSP\Provider를 입력한 다음 Enter 키를 누릅니다. 출력의 공급자 값을 확인합니다. 예를 들면

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\Fabrikam Root CA1 G2\csp:
    
      Provider REG_SZ = Microsoft Software Key Storage Provider
    CertUtil: -getreg command completed successfully.
    

    값이 Microsoft Strong Cryptographic Provider 또는 Microsoft 고급 암호화 공급자 v1.0인 경우 CertUtil -Key를 입력하고 Enter 키를 누릅니다.
    값이 Microsoft 소프트웨어 키 스토리지 공급자인 경우 CertUtil -CSP KSP -Key를 입력하고 Enter 키를 누릅니다.
    값이 다른 값이면 CertUtil -CSP <PROVIDER NAME> -Key를 입력하고 Enter 키를 누릅니다.

    이 명령은 설치된 모든 CSP(암호화 서비스 공급자) 및 각 공급자와 연결된 키 저장소의 이름을 표시합니다. 나열된 키 저장소에 나열된 은 CA의 이름이 됩니다. 이름은 다음 예제와 같이 여러 번 나열됩니다.

    (1) Microsoft 기본 암호화 공급자 v1.0:
    1a3b2f44-2540-408b-8867-51bd6b6ed413
    MS IIS DCOM ClientSYSTEMS-1-5-18
    MS IIS DCOM 서버
    Windows2000 Enterprise Root CA
    MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500

    afd1bc0a-a93c-4a31-8056-c0b9ca632896
    Microsoft 인터넷 정보 서버
    Netmon
    MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500

    (5) Microsoft 고급 암호화 공급자 v1.0:
    1a3b2f44-2540-408b-8867-51bd6b6ed413
    MS IIS DCOM ClientSYSTEMS-1-5-18
    MS IIS DCOM 서버
    Windows2000 Enterprise Root CA
    MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500

    afd1bc0a-a93c-4a31-8056-c0b9ca632896
    Microsoft 인터넷 정보 서버
    Netmon
    MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500

  4. CA와 연결된 프라이빗 키를 삭제합니다. 이렇게 하려면 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 누릅니다.

    certutil -delkey CertificateAuthorityName
    

    참고

    CA 이름에 공백이 포함된 경우 이름을 따옴표로 묶습니다.

    이 예제에서 인증 기관 이름은 Windows2000 Enterprise Root CA입니다. 따라서 이 예제의 명령줄은 다음과 같습니다.

    certutil -delkey "Windows2000 Enterprise Root CA"
    
  5. 키 저장소를 다시 나열하여 CA의 프라이빗 키가 삭제되었는지 확인합니다.

  6. CA에 대한 프라이빗 키를 삭제한 후 인증서 서비스를 제거합니다. 이렇게 하려면 실행 중인 Windows Server 버전에 따라 다음 단계를 수행합니다.

    엔터프라이즈 CA를 제거하는 경우 Enterprise Admins의 멤버 자격 또는 이와 동등한 멤버 자격이 이 절차를 완료하는 데 필요한 최소값입니다. 자세한 내용은 역할 기반 관리 구현을 참조하세요.

    CA를 제거하려면 다음 단계를 수행합니다.

    1. 시작을 선택하고 관리 도구를 가리킨 다음 서버 관리자 선택합니다.
    2. 역할 요약에서 역할 제거를 선택하여 역할 제거 마법사를 시작한 다음, 다음을 선택합니다.
    3. Active Directory 인증서 서비스 검사 상자를 선택 취소한 다음, 다음을 선택합니다.
    4. 제거 옵션 확인 페이지에서 정보를 검토한 다음 제거를 선택합니다.
    5. IIS(인터넷 정보 서비스)가 실행 중이고 제거 프로세스를 계속하기 전에 서비스를 중지하라는 메시지가 표시되면 확인을 선택합니다.
    6. 역할 제거 마법사가 완료되면 서버를 다시 시작합니다. 이렇게 하면 제거 프로세스가 완료됩니다.

    단일 서버에 여러 AD CS(Active Directory Certificate Services) 역할 서비스가 설치된 경우 절차는 약간 다릅니다. CA를 제거하지만 다른 AD CS 역할 서비스를 유지하려면 다음 단계를 수행합니다.

    참고

    이 절차를 완료하려면 CA를 설치한 사용자와 동일한 권한으로 로그온해야 합니다. 엔터프라이즈 CA를 제거하는 경우 Enterprise Admins의 멤버 자격 또는 이와 동등한 멤버 자격이 이 절차를 완료하는 데 필요한 최소값입니다. 자세한 내용은 역할 기반 관리 구현을 참조하세요.

    1. 시작을 선택하고 관리 도구를 가리킨 다음 서버 관리자 선택합니다.
    2. 역할 요약에서 Active Directory 인증서 서비스를 선택합니다.
    3. 역할 서비스에서 역할서비스 제거를 선택합니다.
    4. 인증 기관 검사 상자를 선택 취소한 다음, 다음을 선택합니다.
    5. 제거 옵션 확인 페이지에서 정보를 검토한 다음 제거를 선택합니다.
    6. IIS가 실행 중이고 제거 프로세스를 계속하기 전에 서비스를 중지하라는 메시지가 표시되면 확인을 선택합니다.
    7. 역할 제거 마법사가 완료되면 서버를 다시 시작해야 합니다. 이렇게 하면 제거 프로세스가 완료됩니다.

    온라인 응답기 서비스와 같은 나머지 역할 서비스가 제거된 CA의 데이터를 사용하도록 구성된 경우 다른 CA를 지원하도록 이러한 서비스를 다시 구성해야 합니다. CA를 제거한 후에는 다음 정보가 서버에 남아 있습니다.

    • CA 데이터베이스입니다.
    • CA 퍼블릭 및 프라이빗 키입니다.
    • 개인 저장소에 있는 CA의 인증서입니다.
    • AD CS를 설정하는 동안 공유 폴더가 지정된 경우 공유 폴더에 있는 CA의 인증서입니다.
    • 신뢰할 수 있는 루트 인증 기관 저장소에 있는 CA 체인의 루트 인증서입니다.
    • 중간 인증 기관 저장소에 있는 CA 체인의 중간 인증서입니다.
    • CA의 CRL입니다.

    기본적으로 이 정보는 CA를 제거한 다음 다시 설치하는 경우 서버에 유지됩니다. 예를 들어 독립 실행형 CA를 엔터프라이즈 CA로 변경하려는 경우 CA를 제거하고 다시 설치할 수 있습니다.

6단계 - Active Directory에서 CA 개체 제거

도메인의 멤버인 서버에 Microsoft Certificate Services가 설치되면 Active Directory의 구성 컨테이너에 여러 개체가 만들어집니다.

이러한 개체는 다음과 같습니다.

  • certificateAuthority 개체

    • CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain에 있습니다.
    • CA에 대한 CA 인증서를 포함합니다.
    • 게시된 AIA(기관 정보 액세스) 위치입니다.
  • crlDistributionPoint 개체

    • CN=ServerName,CN=CDP,CN=Public Key Service,CN=Services,CN=Configuration,DC=ForestRoot,DC=com에 있습니다.
    • CA에서 주기적으로 게시하는 CRL을 포함합니다.
    • 게시된 CDP(CRL 배포 지점) 위치입니다.
  • certificationAuthority 개체

    • CN=인증 기관,CN=공개 키 서비스,CN=Services,CN=Configuration,DC=ForestRoot,DC=com에 있습니다.
    • CA에 대한 CA 인증서를 포함합니다.
  • pKIEnrollmentService 개체

    • CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot,DC=com에 있습니다.
    • 엔터프라이즈 CA에서 만듭니다.
    • CA가 발급하도록 구성된 인증서 유형에 대한 정보를 포함합니다. 이 개체에 대한 권한은 이 CA에 대해 등록할 수 있는 보안 주체를 제어할 수 있습니다.

CA를 제거하면 pKIEnrollmentService 개체만 제거됩니다. 이렇게 하면 클라이언트가 서비스 해제된 CA에 대해 등록을 시도할 수 없습니다. CA에서 발급한 인증서는 여전히 미해결이므로 다른 개체는 유지됩니다. 이러한 인증서는 1단계 - 엔터프라이즈 CA에서 발급한 모든 활성 인증서 해지 섹션의 절차에 따라 해지해야 합니다.

PKI(공개 키 인프라) 클라이언트 컴퓨터가 이러한 미해결 인증서를 성공적으로 처리하려면 컴퓨터가 Active Directory에서 AIA(기관 정보 액세스) 및 CRL 배포 지점 경로를 찾아야 합니다. 모든 미해결 인증서를 해지하고, CRL의 수명을 연장하고, Active Directory에 CRL을 게시하는 것이 좋습니다. 다양한 PKI 클라이언트에서 미해결 인증서를 처리하는 경우 유효성 검사가 실패하고 해당 인증서가 사용되지 않습니다.

Active Directory에서 CRL 배포 지점 및 AIA를 유지 관리하는 것이 우선 순위가 아닌 경우 이러한 개체를 제거할 수 있습니다. 이전에 활성 상태였던 디지털 인증서를 하나 이상 처리해야 하는 경우 이러한 개체를 제거하지 마세요.

Active Directory에서 모든 인증 서비스 개체 제거

참고

Active Directory 포리스트의 모든 CA 개체를 제거할 때까지 Active Directory에서 인증서 템플릿을 제거하면 안 됩니다.

Active Directory에서 모든 Certification Services 개체를 제거하려면 다음 단계를 수행합니다.

  1. CA의 CACommonName을 확인합니다. 이렇게 하려면 다음과 같이 하십시오.

    1. 시작을 선택하고 실행을 선택하고 열기 상자에 cmd를 입력한 다음 확인을 선택합니다.
    2. certutil을 입력한 다음 Enter 키를 누릅니다.
    3. CA에 속한 Name 값을 기록해 둡니다. 이 절차의 이후 단계에는 CACommonName이 필요합니다.
  2. 시작을 선택하고 관리 도구를 가리킨 다음 Active Directory 사이트 및 서비스를 선택합니다.

  3. 보기 메뉴에서 서비스 노드 표시를 선택합니다.

  4. 서비스를 확장하고 공개 키 서비스를 확장한 다음 AIA 폴더를 선택합니다.

  5. 오른쪽 창에서 CA에 대한 CertificationAuthority 개체를 마우스 오른쪽 단추로 클릭하고 삭제를 선택한 다음 예를 선택합니다.

  6. Active Directory 사이트 및 서비스 MMC 스냅인의 왼쪽 창에서 CDP 폴더를 선택합니다.

  7. 오른쪽 창에서 Certificate Services가 설치된 서버의 컨테이너 개체를 찾습니다. 컨테이너를 마우스 오른쪽 단추로 클릭하고 삭제를 선택한 다음 예를 두 번 선택합니다.

  8. Active Directory 사이트 및 서비스 MMC 스냅인의 왼쪽 창에서 인증 기관 노드를 선택합니다.

  9. 오른쪽 창에서 CA에 대한 CertificationAuthority 개체를 마우스 오른쪽 단추로 클릭하고 삭제를 선택한 다음 예를 선택합니다.

  10. Active Directory 사이트 및 서비스 MMC 스냅인의 왼쪽 창에서 등록 서비스 노드를 선택합니다.

  11. 오른쪽 창에서 인증서 서비스를 제거할 때 CA에 대한 pKIEnrollmentService 개체가 제거되었는지 확인합니다. 개체가 삭제되지 않은 경우 개체를 마우스 오른쪽 단추로 클릭하고 삭제를 선택한 다음 예를 선택합니다.

  12. 모든 개체를 찾지 못한 경우 이러한 단계를 수행한 후 일부 개체가 Active Directory에 남아 있을 수 있습니다. Active Directory에 개체가 남아 있을 수 있는 CA를 클린 다음 단계에 따라 AD 개체가 남아 있는지 확인합니다.

    1. 명령줄에 다음 명령을 입력한 다음 Enter 키를 누릅니다.

      ldifde -r "cn= CACommonName" -d "CN=Public Key Services,CN=Services,CN=Configuration,DC= ForestRoot,DC=com" -f output.ldf
      

      이 명령에서 CACommonName 은 1단계에서 결정한 이름 값을 나타냅니다. 예를 들어 Name 값이 CA1 Contoso인 경우 다음을 입력합니다.

      ldifde -r "cn=CA1 Contoso" -d "cn=public key services,cn=services,cn=configuration,dc=contoso,dc=com" -f remainingCAobjects.ldf
      
    2. 메모장에서 나머지CAobjects.ldf 파일을 엽니다. changetype: add라는 용어를 changetype: delete로 바꿉 있습니다. 그런 다음 삭제할 Active Directory 개체가 합법적인지 확인합니다.

    3. 명령 프롬프트에서 다음 명령을 입력한 다음 Enter 키를 눌러 Active Directory에서 나머지 CA 개체를 삭제합니다.

      ldifde -i -f remainingCAobjects.ldf
      
  13. 모든 인증 기관이 삭제되었다고 확신하는 경우 인증서 템플릿을 삭제합니다. 12단계를 반복하여 AD 개체가 남아 있는지 여부를 확인합니다.

    중요

    모든 인증 기관이 삭제되지 않는 한 인증서 템플릿을 삭제해서는 안 됩니다. 템플릿이 실수로 삭제된 경우 다음 단계를 수행합니다.

    1. Enterprise 관리자 권한으로 Certificate Services를 실행하는 서버에 로그온했는지 확인합니다.

    2. 명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 누릅니다.

      cd %windir%\system32
      
    3. 다음 명령을 입력한 다음 Enter 키를 누릅니다.

      regsvr32 /i:i /n /s certcli.dll
      

      이 작업은 Active Directory에서 인증서 템플릿을 다시 만듭니다.

    인증서 템플릿을 삭제하려면 다음 단계를 수행합니다.

    1. Active Directory 사이트 및 서비스 MMC 스냅인의 왼쪽 창에서 인증서 템플릿 폴더를 선택합니다.
    2. 오른쪽 창에서 인증서 템플릿을 선택한 다음 Ctrl+A를 눌러 모든 템플릿을 선택합니다. 선택한 템플릿을 마우스 오른쪽 단추로 클릭하고 삭제를 선택한 다음 예를 선택합니다.

7단계 - NtAuthCertificates 개체에 게시된 인증서 삭제

CA 개체를 삭제한 후에는 개체에 게시된 CA 인증서를 삭제해야 합니다 NtAuthCertificates . 다음 명령 중 하나를 사용하여 저장소 내에서 NTAuthCertificates 인증서를 삭제합니다.

certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key
Services,...,DC=ForestRoot,DC=com?cACertificate?base?objectclass=certificationAuthority"
certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key
Services,...,DC=ForestRoot,DC=com?cACertificate?base?objectclass=pKIEnrollmentService"

참고

이 작업을 수행하려면 엔터프라이즈 관리자 권한이 있어야 합니다.

-viewdelstore 작업은 지정된 특성의 인증서 집합에서 인증서 선택 UI를 호출합니다. 인증서 세부 정보를 볼 수 있습니다. 선택 대화 상자에서 취소하여 변경하지 않을 수 있습니다. 인증서를 선택하면 UI가 닫히면 해당 인증서가 삭제되고 명령이 완전히 실행됩니다.

다음 명령을 사용하여 Active Directory의 NtAuthCertificates 개체에 대한 전체 LDAP 경로를 확인합니다.

certutil -viewdelstore -? | findstr "CN=NTAuth"

8단계 - CA 데이터베이스 삭제

인증 서비스를 제거하면 CA 데이터베이스가 그대로 유지되므로 다른 서버에서 CA를 다시 만들 수 있습니다.

CA 데이터베이스를 제거하려면 %systemroot%\System32\Certlog 폴더를 삭제합니다.

9단계 - 도메인 컨트롤러 정리

CA를 제거한 후 도메인 컨트롤러에 발급된 인증서를 제거해야 합니다.

Windows Server 2000 도메인 컨트롤러에 발급된 인증서를 제거하려면 Microsoft Windows 2000 리소스 키트에서 Dsstore.exe 유틸리티를 사용합니다.

Windows Server 2000 도메인 컨트롤러에 발급된 인증서를 제거하려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 Enter 키를 누릅니다.

  2. 도메인 컨트롤러에서 명령 프롬프트에 dsstore -dcmon 을 입력한 다음 Enter 키를 누릅니다.

  3. 3을 입력한 다음 Enter 키를 누릅니다. 이 작업은 모든 도메인 컨트롤러의 모든 인증서를 삭제합니다.

    참고

    Dsstore.exe 유틸리티는 각 도메인 컨트롤러에 발급된 도메인 컨트롤러 인증서의 유효성을 검사합니다. 유효성을 검사하지 않는 인증서는 해당 도메인 컨트롤러에서 제거됩니다.

Windows Server 2003 도메인 컨트롤러에 발급된 인증서를 제거하려면 다음 단계를 수행합니다.

중요

버전 1 도메인 컨트롤러 템플릿을 기반으로 하는 인증서를 사용하는 경우 이 절차를 사용하지 마세요.

  1. 시작을 선택하고 실행을 선택하고 cmd를 입력한 다음 Enter 키를 누릅니다.

  2. 도메인 컨트롤러의 명령 프롬프트에서 certutil -dcinfo deleteBad를 입력합니다.

    Certutil.exe 도메인 컨트롤러에 발급된 모든 DC 인증서의 유효성을 검사하려고 시도합니다. 유효성을 검사하지 않는 인증서가 제거됩니다.

보안 정책을 강제로 적용하려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 실행을 선택하고 열기 상자에 cmd를 입력한 다음 Enter 키를 누릅니다.
  2. 명령 프롬프트에서 해당 버전의 운영 체제에 대한 적절한 명령을 입력한 다음 Enter 키를 누릅니다.
    • Windows Server 2000의 경우:

      secedit /refreshpolicy machine_policy /enforce
      
    • Windows Server 2003의 경우:

      gpupdate /force