인증서 서비스는 Windows Server 2003 또는 Windows 2000을 실행하는 컴퓨터에서 시작할 수 없습니다.

이 문서에서는 Windows Server 2003 또는 Windows 2000을 실행하는 컴퓨터에서 CS(Certificate Services)가 시작되지 않을 수 있는 문제에 대한 솔루션을 제공합니다.

적용 대상: Windows 10 - 모든 버전, Windows Server 2012 R2
원본 KB 번호: 842210

증상

Microsoft Windows Server 2003 또는 Microsoft Windows 2000 Server를 실행하는 컴퓨터에서는 인증서 서비스가 시작되지 않을 수 있습니다.

또한 이벤트 뷰어 애플리케이션 로그에 다음 오류 메시지가 기록될 수 있습니다.

원인

Certificate Services가 시작되기 전에 키와 인증서가 만료된 경우에도 CA(인증 기관)에 발급된 모든 키와 인증서를 열거합니다. 이러한 인증서 중 하나가 로컬 컴퓨터 개인 인증서 저장소에서 제거된 경우 인증서 서비스가 시작되지 않습니다.

해결 방법

이 문제를 resolve 레지스트리의 인증서 지문 수가 CA에 발급된 인증서 수와 같은지 확인합니다. 인증서가 없는 경우 누락된 인증서를 로컬 컴퓨터 개인 인증서 저장소로 가져옵니다. 누락된 인증서를 가져온 후 명령을 사용하여 certutil -repairstore 가져온 인증서와 연결된 프라이빗 키 저장소 간의 링크를 복구합니다.

이렇게 하려면 컴퓨터가 실행 중인 운영 체제의 버전에 따라 다음 방법 중 하나를 사용합니다.

방법 1: Windows Server 2003

Windows Server 2003 기반 컴퓨터에서 이 문제를 resolve 다음 단계를 수행합니다.

1단계: 누락된 인증서 찾기

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 자세한 내용은 Windows에서 레지스트리를 백업하고 복원하는 방법을 참조하세요.

인증서 지문은 이 CA에 발급된 모든 인증서를 나타냅니다. 인증서가 갱신될 때마다 레지스트리의 CaCertHash 목록에 새 인증서 지문이 추가됩니다. 이 목록의 항목 수는 CA에 발급되고 로컬 컴퓨터 개인 인증서 저장소에 나열된 인증서 수와 같아야 합니다.

누락된 인증서를 찾으려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 실행을 선택하고 regedit를 입력한 다음 확인을 선택합니다.

  2. 다음 하위 키를 찾아 선택합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\**Your_Certificate_Authority_Name*

  3. 오른쪽 창에서 CaCertHash를 두 번 클릭합니다.

  4. 값 데이터 목록에 포함된 인증서 지문 수를 기록해 둡니다.

  5. 명령 프롬프트를 시작합니다.

  6. 다음 명령을 입력한 다음 Enter 키를 누릅니다. certutil -store

    로컬 컴퓨터 개인 인증서 저장소에 나열된 인증서 수를 CaCertHash 레지스트리 항목에 나열된 인증서 지문 수와 비교합니다. 숫자가 다른 경우 2단계: 누락된 인증서 가져오기로 이동합니다. 숫자가 동일한 경우 3단계: Windows Server 2003 관리 도구 팩 설치로 이동합니다.

2단계: 누락된 인증서 가져오기

  1. 시작을 선택하고 모든 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 인증서를 선택합니다.

    인증서가 목록에 표시되지 않으면 다음 단계를 수행합니다.

    1. 시작을 선택하고 실행을 선택하고 mmc를 입력한 다음 확인을 선택합니다.

    2. 파일 메뉴에서 스냅인 추가/제거를 선택합니다.

    3. 추가를 선택합니다.

    4. 스냅인 목록에서 인증서를 선택한 다음, 추가를 선택합니다.

      인증서 스냅인 대화 상자가 나타나면 내 사용자 계정을 선택한 다음 마침을 선택합니다.

    5. 닫기를 선택하고 확인을 선택합니다.

      이제 인증서 디렉터리가 MMC(Microsoft Management Console)에 추가됩니다.

    6. 파일 메뉴에서 다른 이름으로 저장을 선택하고 파일 이름 상자에 인증서를 입력한 다음 저장을 선택합니다.

      나중에 인증서를 열려면 시작을 선택하고 모든 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 인증서를 선택합니다.

  2. 인증서를 확장하고 개인을 확장하고 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업을 가리킨 다음 가져오기를 선택합니다.

  3. 시작 페이지에서 다음을 선택합니다.

  4. 가져올 파일 페이지에서 파일이름 상자에 가져올 인증서 파일의 전체 경로를 입력하고 다음을 선택합니다. 대신 찾아보기를 선택하고 파일을 검색한 다음 , 다음을 선택합니다.

  5. 가져오려는 파일이 개인 정보 교환인 경우 - PKCS #12 (*. PFX) 파일에 암호를 입력하라는 메시지가 표시됩니다. 암호를 입력한 다음 , 다음을 선택합니다.

  6. 인증서 저장소 페이지에서 다음을 선택합니다.

  7. 인증서 가져오기 마법사 완료 페이지에서 마침을 선택합니다.

참고

CA는 항상 해당 CA 인증서를 폴더에 %systemroot%\System32\CertSvc\CertEnroll 게시합니다. 해당 폴더에서 누락된 인증서를 찾을 수 있습니다.

3단계: Windows Server 2003 관리 도구 팩 설치

인증서를 가져온 후에는 Certutil 도구를 사용하여 가져온 인증서와 연결된 프라이빗 키 저장소 간의 링크를 복구해야 합니다. Certutil 도구는 CA 인증서 도구에 포함되어 있습니다. Windows Server 2003 CA 인증서 도구는 Windows Server 2003 관리 도구 팩에 있습니다. CA 인증서 도구가 컴퓨터에 설치되어 있지 않으면 지금 설치합니다.

Windows Server 2003 관리 도구 팩을 설치한 후 다음 단계를 수행합니다.

  1. 명령 프롬프트를 시작합니다.

  2. 다음을 입력한 다음 Enter 키를 누릅니다.
    cd %systemroot%\system32\certsrv\certenroll

  3. Certenroll 폴더의 인증서는 다음과 유사하게 Your_Server. Your_Domain.com_rootca.crt

  4. 다음 명령을 입력한 다음 각 명령 %systemroot%\system32\certutil -addstore my %systemroot%\system32\certsrv\certenroll\Your_Server.Your_Domain.com_rootca.crt%systemroot%\System32\certutil -dump %systemroot%\system32\certsrv\certenroll\Your_Server.Your_Domain.com_rootca.crt 다음에 Enter 키를 누릅니다. Your_Server.Your_Domain.com_rootca.crt은 3단계에서 기록한 Certenroll 폴더의 인증서 이름입니다.

  5. 마지막 명령의 출력에서 끝 부분에 다음과 유사한 줄이 표시됩니다.
    키 ID 해시(sha1): ea c7 7d 7e e8 cd 84 9b e8 aa 71 6d f4 b7 e5 09 d9 b6 32 1b
    키 ID 해시 데이터는 컴퓨터와 관련이 있습니다. 이 줄을 적어 두세요.

  6. 따옴표를 포함하여 다음 명령을 입력한 다음 Enter 키를 누릅니다.
    %systemroot%\system32\certutil -repairstore my "Key_Id_Hash_Data"

    이 명령 Key_Id_Hash_Data 에서 은 4단계에서 기록한 줄입니다. 예를 들어 다음을 입력합니다.
    %systemroot%\system32\certutil -repairstore my "ea c7 7d 7e e8 cd 84 9b e8 aa 71 6d f4 b7 e5 09 d9 b6 32 1b"

    그러면 다음 출력이 표시됩니다.

    CertUtil: -repairstore 명령이 성공적으로 완료되었습니다.

  7. 인증서를 확인하려면 다음을 입력한 다음 Enter 키를 누릅니다.
    %systemroot%\system32\certutil -verifykeys 이 명령을 실행하면 다음 출력이 표시됩니다.

    CertUtil: -verifykeys 명령이 성공적으로 완료되었습니다.

5단계: Certificate Services 서비스 시작

  1. 시작을 선택하고 관리 도구를 가리킨 다음 서비스를 선택합니다.
  2. 인증서 서비스를 마우스 오른쪽 단추로 클릭한 다음 시작을 선택합니다.

방법 2: Windows 2000

Windows 2000 기반 컴퓨터에서 이 문제를 resolve 다음 단계를 수행합니다.

1단계: 누락된 인증서 찾기

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 자세한 내용은 Windows에서 레지스트리를 백업하고 복원하는 방법을 참조하세요.

인증서 지문은 이 CA에 발급된 모든 인증서를 나타냅니다. 인증서가 갱신될 때마다 레지스트리의 CaCertHash 목록에 새 인증서 지문이 추가됩니다. 이 목록의 항목 수는 CA에 발급되고 로컬 컴퓨터 개인 인증서 저장소에 나열된 인증서 수와 같아야 합니다.

누락된 인증서를 찾으려면 다음 단계를 수행합니다.

  1. 시작을 선택하고 실행을 선택하고 regedit를 입력한 다음 확인을 선택합니다.

  2. 다음 하위 키를 찾아 선택합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\**Your_Certificate_Authority_Name*

  3. 오른쪽 창에서 CaCertHash를 두 번 클릭합니다.

  4. 값 데이터 목록에 포함된 인증서 지문 수를 기록해 둡니다.

  5. 명령 프롬프트를 시작합니다.

  6. 다음을 입력한 다음 Enter 키를 누릅니다. certutil -store

로컬 컴퓨터 개인 인증서 저장소에 나열된 인증서 수를 CaCertHash 레지스트리 항목에 나열된 인증서 지문 수와 비교합니다. 숫자가 다른 경우 2단계: 누락된 인증서 가져오기로 이동합니다. 숫자가 동일한 경우 3단계: Windows Server 2003 관리 도구 팩 설치로 이동합니다.

2단계: 누락된 인증서 가져오기

  1. 시작을 선택하고 프로그램, 관리 도구를 차례로 가리킨 다음 인증서를 선택합니다.

    인증서가 목록에 표시되지 않으면 다음 단계를 수행합니다.

    1. 시작을 선택하고 실행을 선택하고 mmc를 입력한 다음 확인을 선택합니다.
    2. 콘솔 메뉴에서 스냅인 추가/제거를 선택합니다.
    3. 추가를 선택합니다.
    4. 스냅인 목록에서 인증서를 선택한 다음, 추가를 선택합니다.

    인증서 스냅인 대화 상자가 나타나면 내 사용자 계정을 선택한 다음 마침을 선택합니다. 5. 닫기를 선택합니다. 6. 확인을 선택합니다. 7. 인증서 디렉터리가 이제 MMC(Microsoft Management Console)에 추가되었습니다. 8. 콘솔 메뉴에서 다른 이름으로 저장을 선택하고 인증서를 파일 이름으로 입력한 다음 저장을 선택합니다.

    나중에 인증서를 열려면 시작을 선택하고 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 인증서를 선택합니다.

  2. 인증서를 확장하고 개인을 확장하고 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업을 가리킨 다음 가져오기를 선택합니다.

  3. 시작 페이지에서 다음을 선택합니다.

  4. 가져올 파일 페이지에서 파일이름 상자에 가져올 인증서 파일의 전체 경로를 입력하고 다음을 선택합니다. 대신 찾아보기를 선택하고 파일을 검색한 다음 , 다음을 선택합니다.

  5. 가져오려는 파일이 개인 정보 교환인 경우 - PKCS #12 (*. PFX) 암호를 입력하라는 메시지가 표시됩니다. 암호를 입력한 다음 , 다음을 선택합니다.

  6. 인증서 저장소 페이지에서 다음을 선택합니다.

  7. 인증서 가져오기 마법사 완료 페이지에서 마침을 선택합니다.

참고

CA는 항상 해당 CA 인증서를 폴더에 %systemroot%\System32\CertSvc\CertEnroll 게시합니다. 해당 폴더에서 누락된 인증서를 찾을 수 있습니다.

3단계: Windows Server 2003 Certutil 도구 설치

인증서를 가져온 후에는 Windows Server 2003 CA 인증서 도구를 사용하여 가져온 인증서와 연결된 프라이빗 키 저장소 간의 링크를 복구해야 합니다.

Windows Server 2003 버전의 Certutil.exe 및 Certreq.exe Windows Server 2003 관리 도구 팩에 포함되어 있습니다. Windows 2000 기반 컴퓨터에 도구를 설치하려면 먼저 Windows Server 2003 또는 Microsoft Windows XP with Service Pack 1(SP1) 또는 이후 서비스 팩을 실행하는 컴퓨터에 Windows Server 2003 관리 도구 팩을 설치해야 합니다. Windows Server 2003 관리 도구 팩은 Windows 2000 기반 컴퓨터에 직접 설치할 수 없습니다.

중요

Windows Server 2003 CA 인증서 도구를 Windows 2000 기반 컴퓨터에 복사하면 두 버전의 Certutil 도구가 Windows 2000 기반 컴퓨터에 상주합니다. Windows 2000 Certutil 도구를 제거하지 마세요. 다른 프로그램은 이 도구의 Windows 2000 버전에 따라 달라집니다. 예를 들어 인증서 MMC 스냅인에는 Windows 2000 Certutil 도구가 필요합니다. 또한 Windows Server 2003 Certcli.dll 등록하고 Windows 2000 기반 컴퓨터에서 파일을 Certadm.dll 마세요.

Windows 2000 기반 컴퓨터에서 Windows Server 2003 CA 인증서 도구를 사용하려면 다음 단계를 수행합니다.

  1. Windows Server 2003 관리 도구 팩 다운로드

  2. SP1 또는 이후 서비스 팩을 사용하여 Windows Server 2003 또는 Windows XP를 실행하는 컴퓨터에 로그인합니다.

  3. Windows Server 2003 관리 도구 팩을 설치합니다.

  4. Windows Server 2003 관리 도구 팩에서 다음 파일을 찾은 다음 3.5인치 디스크와 같은 이동식 스토리지 매체에 복사합니다.
    Certreq.exe
    Certutil.exe
    Certcli.dll
    Certadm.dll

  5. Windows 2000 기반 컴퓨터에 관리자 권한으로 로그인합니다.

  6. 4단계에서 사용한 이동식 스토리지 미디어를 Windows 2000 기반 컴퓨터의 적절한 드라이브에 삽입합니다.

  7. 명령 프롬프트를 시작합니다.

  8. 새 폴더를 만들고 이동식 스토리지 매체의 파일을 새 폴더에 복사합니다. 이렇게 하려면 다음 명령을 입력한 다음 각 명령 다음에 Enter 키를 누릅니다.
    Cd\
    md W2k3tool
    cd w2k3tool
    copy Removable_Media_Drive_Letter:\cert*

    참고

    컴퓨터에 이미 있는 Certutil 도구의 Windows 2000 버전과의 충돌을 방지하려면 시스템 검색 경로에 W2k3tool 폴더를 포함하지 마세요.

Windows Server 2003 CA 인증서 도구 파일을 Windows 2000 기반 컴퓨터에 복사한 후 다음 단계를 수행합니다.

  1. 명령 프롬프트를 시작합니다.

  2. 다음을 입력한 다음 Enter 키를 누릅니다.
    cd %systemroot\system32\certsrv\certenroll

  3. Certenroll 폴더의 인증서는 다음과 유사합니다.
    Your_Server.Your_Domain.com_rootca.crt

  4. 다음 명령을 입력한 다음 각 명령 다음에 Enter 키를 누릅니다.
    Root_Drive_Letter:\w2k3tool\certutil -addstore my %systemroot%\system32\certsrv\certenroll\ Your_Server.Your_Domain.com_rootca.crt
    Root_Drive_Letter:\w2k3tool\certutil -dump %systemroot%\system32\certsrv\certenroll\ Your_Server.Your_Domain.com_rootca.crt

    Root_Drive_Letter 루트 디렉터리의 문자입니다.

    Your_Server.Your_Domain.com_rootca.crt는 3단계에서 기록한 Certenroll 폴더의 인증서 이름입니다.

  5. 마지막 명령의 출력에서 끝 부근에 다음과 유사한 줄이 표시됩니다. 키 ID 해시(sha1): ea c7 7d 7e e8 cd 84 9b e8 aa 71 6d f4 b7 e5 09 d9 b6 32 1b
    키 ID 해시 데이터는 컴퓨터와 관련이 있습니다. 이 줄을 적어 두세요.

  6. 따옴표를 포함하여 다음 명령을 입력한 다음 Enter 키를 누릅니다.
    Root_Drive_Letter:\w2k3tool\certutil -repairstore my "Key_Id_Hash_Data"
    이 명령에서 는 Key_Id_Hash_Data 5단계에서 기록한 줄입니다. 예를 들어 다음을 입력합니다.
    c:\w2k3tool\certutil -repairstore my "ea c7 7d 7e e8 cd 84 9b e8 aa 71 6d f4 b7 e5 09 d9 b6 32 1b"

    이 명령을 완료하면 다음 출력이 표시됩니다.

    CertUtil: -repairstore 명령이 성공적으로 완료되었습니다.

  7. 인증서를 확인하려면 다음 명령을 입력한 다음 Enter 키를 누릅니다.
    Root_Drive_Letter:\w2k3tool\certutil -verifykeys

    이 명령을 실행하면 다음 출력이 표시됩니다.

    CertUtil: -verifykeys 명령이 성공적으로 완료되었습니다.

5단계: Certificate Services 서비스 시작

  1. 시작을 선택하고 관리 도구를 가리킨 다음 서비스를 선택합니다.
  2. 인증서 서비스를 마우스 오른쪽 단추로 클릭한 다음 시작을 선택합니다.

추가 정보

다음 조건 중 하나가 true인 경우 CA를 서비스 해제하고 바꿔야 합니다.

  • 누락된 인증서를 찾을 수 없습니다.

  • 인증서를 다시 설치할 수 없습니다.

  • certutil -repairstore 프라이빗 키가 제거되었으므로 명령을 완료할 수 없습니다. CA를 해제하고 대체하려면 다음 단계를 수행합니다.

    1. 제대로 작동하지 않는 CA에 대한 인증서를 해지합니다. 이렇게 하려면 다음 단계를 따르세요.

      1. 해지하려는 인증서를 발급한 컴퓨터에 관리자로 로그인합니다.
      2. 시작을 선택하고 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 인증 기관을 선택합니다.
      3. CA_Name 확장한 다음 발급된 인증서를 선택합니다.
      4. 오른쪽 창에서 해지할 인증서를 선택합니다.
      5. 작업 메뉴에서 모든 작업을 가리킨 다음 인증서 해지를 선택합니다.
      6. 이유 코드 목록에서 인증서를 해지하는 이유를 선택한 다음 예를 선택합니다.

      이렇게 하면 제대로 작동하지 않는 CA에서 발급한 모든 인증서가 해지됩니다.

    2. 다음으로 높은 CA에 CRL(인증서 해지 목록)을 게시합니다. 이렇게 하려면 다음 단계를 따르세요.

      1. 다음으로 높은 CA를 실행하는 컴퓨터에 관리자로 로그인합니다.
      2. 시작을 선택하고 프로그램을 가리킨 다음 관리 도구를 가리킨 다음 인증 기관을 선택합니다.
      3. CA_Name 확장한 다음 해지된 인증서를 선택합니다.
      4. 작업 메뉴에서 모든 작업을 가리킨 다음 게시를 선택합니다.
      5. 예를 선택하여 이전에 게시된 CRL을 덮어씁니다.
    3. 제대로 작동하지 않는 CA가 Active Directory 디렉터리 서비스에 게시된 경우 제거합니다. Active Directory에서 CA를 제거하려면 다음 단계를 수행합니다.

      1. 명령 프롬프트를 시작합니다.
      2. 다음을 입력한 다음 Enter 키를 누릅니다.
        certutil -dsdel CA_Name
    4. CA가 제대로 작동하지 않는 서버에서 인증서 서비스를 제거합니다. 이렇게 하려면 다음 단계를 따르세요.

      1. 시작을 선택하고 설정을 가리킨 다음 제어판 선택합니다.
      2. 프로그램 추가/제거를 두 번 클릭한 다음 Windows 구성 요소 추가/제거를 선택합니다.
      3. 구성 요소 목록에서 인증서 서비스 검사 상자를 선택 취소하고 다음을 선택한 다음 마침을 선택합니다.
    5. 인증서 서비스를 설치합니다. 이렇게 하려면 다음 단계를 따르세요.

      1. Windows 구성 요소 추가/제거를 선택합니다.
      2. 구성 요소 목록에서 인증서 서비스 검사 상자를 선택하고 다음을 선택한 다음 마침을 선택합니다.
    6. 제대로 작동하지 않는 CA에서 발급한 인증서가 있는 모든 사용자, 컴퓨터 또는 서비스는 새 CA의 인증서에 등록해야 합니다.

참고

이 문제가 PKI(공개 키 인프라) 계층 구조의 루트 CA에서 발생하고 문제를 복구할 수 없는 경우 전체 PKI 계층 구조를 바꿔야 합니다. PKI 계층 구조를 제거하는 방법에 대한 자세한 내용은 Windows 엔터프라이즈 인증 기관을 해제하고 모든 관련 개체를 제거하는 방법을 참조하세요.