모든 Windows 버전에는 Microsoft 웹 사이트에서 루트 인증서를 자동으로 업데이트하는 기능이 내장되어 있습니다. Microsoft 신뢰할 수 있는 루트 인증서 프로그램의 일부인 MSFT , 온라인 리포지토리에서 클라이언트 및 Windows 장치에 대한 신뢰할 수 있는 인증서 목록을 유지 관리하고 게시합니다. 인증 체인의 확인된 인증서가 이 프로그램에 참여하는 루트 CA를 참조하는 경우 시스템은 Windows Update 서버에서 이 루트 인증서를 자동으로 다운로드하여 신뢰할 수 있는 인증서에 추가합니다.
Windows는 일주일에 한 번 신뢰할 수 있는 루트 인증서 목록(CTL)을 업데이트합니다. Windows가 Windows 업데이트에 직접 액세스할 수 없는 경우 시스템은 루트 인증서를 업데이트할 수 없습니다. 따라서 사용자는 웹사이트(신뢰할 수 없는 CA에서 서명한 SSL 인증서 - "Chrome SSL 오류:이 사이트는 보안 연결을 제공할 수 없습니다"에 대한 문서 참조)를 탐색하거나 서명된 스크립트를 설치/실행할 때 문제가 발생할 수 있습니다. 및 앱.
이 기사에서는 연결이 끊긴(격리된) 네트워크 또는 인터넷에 직접 액세스할 수 없는 컴퓨터/서버에서 TrustedRootCA의 루트 인증서 목록을 수동으로 업데이트하는 방법을 알아보겠습니다.
내용:
- Windows 10 및 11에서 신뢰할 수 있는 루트 인증서 관리
- Windows에서 자동 루트 인증서 업데이트를 비활성화/활성화하는 방법은 무엇입니까?
- Certutil:Windows 업데이트에서 신뢰할 수 있는 루트 인증서 다운로드
- Windows의 인증서 신뢰 목록(STL)
- 격리된 환경에서 GPO를 통해 신뢰할 수 있는 루트 인증서 업데이트
- Windows 7에서 신뢰할 수 있는 루트 인증서를 업데이트하는 방법
- Rootsupd.exe 도구를 사용하여 Windows XP에서 루트 인증서 업데이트
Windows 10 및 11에서 신뢰할 수 있는 루트 인증서 관리
Windows 컴퓨터에서 신뢰할 수 있는 루트 인증서 목록을 보는 방법은 무엇입니까?
- Windows 11/10/8.1/7 또는 Windows Server 2022/2019/2016을 실행하는 컴퓨터의 루트 인증서 저장소를 열려면 mmc.exe 콘솔;
- 파일 선택 -> 스냅인 추가/제거 , 인증서 선택 (certmgr) 스냅인 목록 -> 추가;
- 로컬 컴퓨터 계정의 인증서를 관리할 것인지 선택하십시오.;
- 다음 -> 확인 -> 확인,
- 인증서 확장 노드 -> 신뢰할 수 있음 루트 인증 당국 저장합니다. 이 섹션에는 컴퓨터의 신뢰할 수 있는 루트 인증서 목록이 포함되어 있습니다.
mmc 콘솔에서 모든 인증서에 대한 정보를 보거나 신뢰할 수 있는 인증서에서 인증서를 제거할 수 있습니다.
PowerShell을 사용하여 만료 날짜와 함께 신뢰할 수 있는 루트 인증서 목록을 얻을 수도 있습니다.
Get-Childitem cert:\LocalMachine\root |format-list
만료되었거나 향후 60일 이내에 만료되는 인증서를 나열할 수 있습니다.
Get-ChildItem cert:\LocalMachine\root|Where {$_.NotAfter -lt (Get-Date).AddDays(60)}|select NotAfter, Subject
내보내기/가져오기 옵션을 사용하여 Windows 컴퓨터 간에 루트 인증서 파일을 수동으로 전송할 수 있습니다.
- 모든 인증서를 클릭하고 모든 작업 -> 내보내기를 선택하여 .CER 파일로 내보낼 수 있습니다.
- 모든 작업 -> 가져오기 옵션을 사용하여 다른 컴퓨터에서 이 인증서를 가져올 수 있습니다.
Windows에서 자동 루트 인증서 업데이트를 비활성화/활성화하는 방법은 무엇입니까?
앞서 언급했듯이 Windows는 루트 인증서를 자동으로 업데이트합니다. GPO 또는 레지스트리를 통해 Windows에서 인증서 갱신을 활성화하거나 비활성화할 수 있습니다.
로컬 그룹 정책 편집기(gpedit.msc)를 열고 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 인터넷 통신 관리 -> 인터넷 통신으로 이동합니다.
자동 루트 인증서 업데이트 끄기 이 섹션의 옵션을 사용하면 Windows Update 사이트를 통한 루트 인증서의 자동 업데이트를 비활성화할 수 있습니다. 기본적으로 이 정책은 구성되어 있지 않으며 Windows는 항상 루트 인증서를 자동으로 갱신하려고 합니다.
이 GPO 옵션이 구성되어 있지 않고 루트 인증서가 자동으로 갱신되지 않는 경우 레지스트리에서 이 설정이 수동으로 활성화되어 있는지 확인하십시오. PowerShell을 사용하여 레지스트리 매개변수의 값을 확인하십시오:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate
명령이 DisableRootAutoUpdate 값을 반환하는 경우 레지스트리 매개변수는 1입니다. , 그러면 컴퓨터에서 루트 인증서 업데이트가 비활성화됩니다. 활성화하려면 매개변수 값을 0으로 변경하십시오.
Certutil:Windows 업데이트에서 신뢰할 수 있는 루트 인증서 다운로드
Certutil.exe CLI 도구를 사용하여 인증서를 관리할 수 있습니다(Windows 10에 도입, Windows 7의 경우 별도 업데이트로 제공됨). Windows Update에서 루트 인증서의 최신 목록을 다운로드하고 SST 파일에 저장하는 데 사용할 수 있습니다.
Windows 10 또는 11을 실행하고 인터넷에 직접 액세스할 수 있는 컴퓨터에서 SST 파일을 생성하려면 관리자 권한 명령 프롬프트를 열고 다음 명령을 실행합니다.
certutil.exe -generateSSTFromWU C:\PS\roots.sst
Updated SST file. CertUtil: -generateSSTFromWU command completed successfully.
결과적으로 루트 인증서의 최신 목록이 포함된 SST 파일이 대상 디렉토리에 나타납니다. 두 번 클릭하여 엽니다. 이 파일은 신뢰할 수 있는 루트 인증서를 포함하는 컨테이너입니다.
보시다시피 익숙한 인증서 관리 스냅인이 열리고 여기에서 보유한 인증서를 내보낼 수 있습니다. 제 경우에는 인증서 목록에 358개의 항목이 있었습니다. 당연히 인증서를 내보내고 하나씩 설치하는 것은 합리적이지 않습니다.
도움말 .certutil -syncWithWU
명령을 사용하여 개별 인증서 파일을 생성할 수 있습니다. 이 방법으로 얻은 인증서는 GPO를 사용하여 Windows 장치에 배포할 수 있습니다. PowerShell 스크립트를 사용하여 SST 파일의 모든 인증서를 설치하고 컴퓨터의 신뢰할 수 있는 루트 인증서 목록에 추가할 수 있습니다.
$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
certmgr.msc 실행 스냅인을 만들고 모든 인증서가 신뢰할 수 있는 루트 인증 기관에 추가되었는지 확인합니다. . Windows 11의 제 예에서는 루트 인증서 수가 34개에서 438개로 증가했습니다.
Windows의 인증서 신뢰 목록(STL)
인증서 신뢰 목록 (CTL )는 신뢰할 수 있는 당사자(이 경우 Microsoft에서)가 서명한 데이터(예:인증서 해시)의 목록입니다. Windows 클라이언트는 신뢰할 수 있는 모든 루트 CA의 해시를 저장하는 이 CTL을 Windows 업데이트에서 주기적으로 다운로드합니다. 이 CTL에는 인증서 자체가 포함되지 않고 해시와 속성(예:친숙한 이름)만 포함된다는 점을 이해해야 합니다. Windows 장치는 요청 시 인증서 신뢰 목록에서 신뢰할 수 있는 인증서를 다운로드할 수 있습니다.
CTL 파일을 수동으로 다운로드하여 설치할 수 있습니다. 이를 수행하려면 https://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab 파일을 다운로드하십시오(한 달에 두 번 업데이트됨). 아카이버(또는 Windows 탐색기)를 사용하여 authrootstl.cab의 콘텐츠 압축을 풉니다. 보관소. 여기에는 단일 authroot.stl이 포함됩니다. 파일.
Authroot.stl 파일은 인증서 신뢰 목록 형식의 신뢰할 수 있는 인증서 지문 목록이 있는 컨테이너입니다.
certutil 명령을 사용하여 이 CTL 파일을 신뢰할 수 있는 루트 인증 기관에 설치할 수 있습니다.
certutil -enterprise -f -v -AddStore "Root" "C:\PS\authroot.stl"
root "Trusted Root Certification Authorities" CTL 0 added to store. CertUtil: -addstore command completed successfully.
인증서 관리 콘솔(Trust Root)을 사용하여 인증서를 가져올 수도 있습니다. 인증 기관 -> 인증서 -> 모든 작업 -> 가져오기 ). 인증서 지문으로 STL 파일의 경로를 지정하십시오.
명령을 실행하면 신뢰할 수 있는 루트 인증 기관에 새 섹션 인증서 신뢰 목록이 나타납니다. 인증서 관리자 콘솔의 컨테이너(certmgr.msc
) ).
같은 방법으로 루트 인증서 프로그램에서 제거된 해지된(허용되지 않는) 인증서 목록을 다운로드하여 설치할 수 있습니다. 이를 수행하려면 disallowedcertstl.cab을 다운로드하세요. 파일(https://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab)을 추출하고 다음 명령을 사용하여 신뢰할 수 없는 인증서 저장소에 추가합니다.
certutil -enterprise -f -v -AddStore disallowed "C:\PS\disallowedcert.stl"
격리된 환경에서 GPO를 통해 신뢰할 수 있는 루트 인증서 업데이트
인터넷에서 격리된 Active Directory 도메인에서 루트 인증서를 정기적으로 업데이트하는 작업이 있는 경우 그룹 정책을 사용하여 도메인에 가입된 컴퓨터의 로컬 인증서 저장소를 업데이트하기 위한 약간 더 복잡한 체계가 있습니다. 여러 가지 방법으로 연결이 끊긴 Windows 네트워크의 사용자 컴퓨터에서 루트 인증서 업데이트를 구성할 수 있습니다.
첫 번째 방법 루트 인증서가 있는 파일을 정기적으로 수동으로 다운로드하여 격리된 네트워크에 복사한다고 가정합니다. 다음과 같이 현재 Microsoft 루트 인증서가 있는 파일을 다운로드할 수 있습니다.
certutil.exe –generateSSTFromWU roots.sst
그런 다음 이 파일의 루트 인증서를 SCCM 또는 GPO의 PowerShell 시작 스크립트를 통해 배포할 수 있습니다.
$sstStore = (Get-ChildItem -Path \\fr-dc01\SYSVOL\woshub.com\rootcert\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
두 번째 방법 다음 명령을 사용하여 실제 Microsoft 루트 인증서를 다운로드하는 것입니다.
Certutil -syncWithWU -f \\fr-dc01\SYSVOL\woshub.com\rootcert\
지정된 공유 네트워크 폴더(authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt 포함)에 여러 루트 인증서 파일(CRT 파일 형식)이 나타납니다.
그런 다음 그룹 정책 기본 설정을 사용하여 레지스트리 매개변수 RootDirURL 값을 변경합니다. HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate 아래 . 이 매개변수는 Windows 컴퓨터가 새 루트 인증서를 받을 공유 네트워크 폴더를 가리켜야 합니다. 도메인 GPMC.msc 콘솔을 실행하고 새 GPO를 만들고 정책 편집 모드로 전환한 다음 컴퓨터 구성 -> 기본 설정 -> Windows 설정 -> 레지스트리 섹션을 확장합니다. . 다음 설정으로 새 레지스트리 속성을 만듭니다.
- 액션 :업데이트
- 하이브 :HKLM
- 주요 경로 :Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
- 값 이름 :RootDirURL
- 유형 :REG_SZ
- 가치 데이터 :file://\\fr-dc01\SYSVOL\woshub.com\rootcert\
컴퓨터의 OU에 이 정책을 연결하고 클라이언트에서 GPO 설정을 업데이트한 후 certstore에서 새 루트 인증서를 확인해야 합니다.
GPO 매개변수 자동 루트 인증서 업데이트 끄기 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 인터넷 통신 관리 -> 인터넷 통신 설정을 비활성화하거나 구성하지 않아야 합니다.Windows 7에서 신뢰할 수 있는 루트 인증서를 업데이트하는 방법
현재 Windows 7이 지원 종료 단계에 있음에도 불구하고 많은 사용자와 회사에서 여전히 Windows 7을 사용하고 있습니다.
깨끗한 Windows 7 이미지를 설치한 후 새 인증서로 서명된 많은 최신 프로그램 및 도구가 이 이미지에서 작동하지 않는다는 것을 알 수 있습니다. 특히 루트 인증서를 업데이트하지 않으면 Windows 7 SP1 x64에 .Net Framework 4.8 또는 Microsoft Visual Studio(vs_Community.exe)를 설치할 수 없다는 불만이 있었습니다.
The installer manifest failed signature validation.
또는
NET Framework has not been installed because a certificate chain could not be built to a trusted root authority.
Windows 7에서 루트 인증서를 업데이트하려면 먼저 MSU 업데이트 KB2813430을 다운로드하여 설치해야 합니다. (https://support.microsoft.com/en-us/topic/an-update-is-available-that-enables-administrators-to-update-trusted-and-disallowed-ctls-in-disconnected-environments-in -windows-0c51c702-fdcc-f6be-7089-4585fad729d6)
그런 다음 certutil을 사용하여 루트 인증서가 있는 SST 파일을 생성할 수 있습니다(현재 또는 다른 컴퓨터에서).
certutil.exe -generateSSTFromWU c:\ps\roots.sst
이제 인증서를 신뢰할 수 있는 인증서로 가져올 수 있습니다.
MMC 실행 -> 스냅인 추가 -> 인증서 -> 컴퓨터 계정> 로컬 컴퓨터. 신뢰할 수 있는 루트 인증 기관, 모든 작업 -> 가져오기를 마우스 오른쪽 버튼으로 클릭하고 SST 파일을 찾습니다(파일 유형에서 Microsoft Serialized Certificate Store — *.sst 선택). ) -> 열기 -> 모든 인증서를 다음 저장소에 저장 -> 신뢰할 수 있는 루트 인증 기관.
Rootsupd.exe 도구를 사용하여 Windows XP에서 루트 인증서 업데이트
Windows XP에서 rootsupd.exe 유틸리티는 컴퓨터의 루트 인증서를 업데이트하는 데 사용되었습니다. 루트 및 해지된 인증서 목록은 정기적으로 업데이트되었습니다. 이 도구는 별도의 업데이트 KB931125로 배포되었습니다. (루트 인증서 업데이트). 지금 사용할 수 있는지 봅시다.
- rootsupd.exe 다운로드 다음 링크를 사용하는 유틸리티
https://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe. 현재(2021년 1월) 링크가 작동하지 않아 Microsoft는 해당 링크를 대중에서 제거하기로 결정했습니다. 오늘 Kaspersky 웹사이트(https://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip;
)에서 rootupd.exe를 다운로드할 수 있습니다. - Windows 루트 인증서를 설치하려면 rootsupd.exe를 실행하기만 하면 됩니다. 파일. 그러나 우리는 그 내용을 더 신중하게 검토하려고 노력할 것입니다. 다음 명령을 사용하여 실행 파일에서 인증서를 추출합니다.
rootsupd.exe /c /t: C:\PS\rootsupd
- 인증서는 authroots.sst, delroot.sst 등과 같은 SST 파일에 저장됩니다. 인증서를 제거하거나 설치하려면 다음 명령을 사용할 수 있습니다.
updroots.exe authroots.sst
updroots.exe -d delroots.sst
그러나 , 보시다시피 이 인증서 파일은 2013년 4월 4일(Windows XP 공식 지원 종료 약 1년 전)에 생성되었습니다. 따라서 그 이후로 도구가 업데이트되지 않았으며 최신 인증서를 설치하는 데 사용할 수 없습니다.
그러나 Windows 10/11에서 cerutil 도구를 사용하여 root.sst를 다운로드하고 Windows XP에서 해당 파일을 복사하고 updroots.exe를 사용하여 인증서를 설치할 수 있습니다.
updroots.exe c:\temp\roots.sst
이 기사에서는 인터넷(연결이 끊긴 환경)과 격리된 Windows 네트워크 컴퓨터에서 신뢰할 수 있는 루트 인증서를 업데이트하는 여러 방법을 살펴보았습니다.