Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


파일 암호화 오류 - Recovery policy configured for this system contains invalid recovery certificate


어느 순간부터, 탐색기에서 제공되는 파일 암호화(EFS: Encrypting File System)를 할 때 다음과 같은 오류가 발생하엿습니다.

[그림 1: 파일 암호화 오류]
recovery_policy_configure_error_1.png
recovery_policy_configure_error_8.png

"
An error occurred applying attributes to the file:

...[폴더 경로]...

Recovery policy configured for this system contains invalid recovery certificate.

파일에 특성을 적용하는 중 오류가 발생했습니다.

...[폴더 경로]...

이 시스템에 대해 구성된 복구 정책에 올바르지 않은 복구 인증서가 포함되어 있습니다.
"



이상하지요... EFS에 사용되는 인증서는 self-signed 유형으로 이미 생성해 놓았고, 해보신 분들은 아시겠지만 비스타가 만들어주는 인증서는 그 만료기간이 무척 길게(100년) 만들어지니 웬만해선 별다른 문제가 있을 수도 없습니다.

할 수 없이, 또 구글링을 하기 시작했고, 도움이 될 만한 토픽을 2가지 정도 발견했습니다.

How do I get EFS working on a domain joined computer?
; http://social.technet.microsoft.com/Forums/en-US/winserverfiles/thread/5c0bf259-a1eb-4cae-b812-b43584007337/

Error message when client computers encrypt a file in a Windows Server 2003 domain: “Recovery policy configured for this system contains invalid recovery certificate” 
; http://support.microsoft.com/?kbid=937536

도메인 이야기가 나오길래 떠오르는 것이 있었는데, 최근 무선랜 관련해서 회사에 문제가 있어 모든 컴퓨터를 도메인에 가입한 적이 있었다는 점. 우선, 제 계정에 연결된 EFS 인증서는 문제가 없었기 때문에 도메인 컨트롤러 측의 그룹 정책 편집기를 확인해 보았습니다. 역시나,,, 기본 제공되어 있던 "Administrator" 인증서가 이미 만료된 것이었습니다.

그래서, 위의 2번째 링크에 제공된 KB937536에 제시된 방법을 이용해서 다음과 같이 새로운 인증서를 생성했습니다.

C:\Temp\csp>cipher /r:themyth_file_enc_v2
Please type in the password to protect your .PFX file:
Please retype the password to confirm:


Your .CER file was created successfully.
Your .PFX file was created successfully.

C:\Temp\csp>dir
 Volume in drive C has no label.
 Volume Serial Number is C6E7-7F99

 Directory of C:\Temp\csp

2008-12-23  오전 09:21    <DIR>          .
2008-12-23  오전 09:21    <DIR>          ..
2008-12-23  오전 09:21               844 themyth_file_enc_v2.CER
2008-12-23  오전 09:21             2,630 themyth_file_enc_v2.PFX
               2 File(s)          3,474 bytes
               2 Dir(s)   8,988,729,344 bytes free

C:\Temp\csp>

이렇게 생성된 새로운 인증서를 "[그림 2]"에서 보는 것처럼 "Default Domain Policy GPO" 의 "Computer Configuration" / "Windows Settings" / "Security Settings" / "Public Key Policies" / "Encrypting File System" 안에서 "Add Recovery Agent Wizard"를 이용해서 연결했습니다. (한글 윈도우즈의 경우: "컴퓨터 구성" / "Windows 설정" / "보안 설정" / "공개 키 정책" / "암호화 파일 시스템")

[그림 2: "Add Recovery Agent Wizard" 경로]
recovery_policy_configure_error_2.png
(위의 이미지는, 보안상 도메인 컨트롤러의 GPO 화면이 아닌, 제 컴퓨터의 GPO 화면을 올렸습니다. 하지만 구성 경로는 동일합니다.)

그리고, "gpupdate /force"를 실행하고, 제 로컬 컴퓨터를 다시 재부팅했습니다.

그걸로 문제 해결 끝!



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/10/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  142  143  144  145  [146]  147  148  149  150  ...
NoWriterDateCnt.TitleFile(s)
1496정성태9/20/201336366Windows: 75. 윈도우 8.1, 2012 R2 설치 후 원격 접속이 안 되는 문제
1495정성태9/20/201327142웹: 27. IE 11 - YBM Sisa.com에서 검색된 영단어의 발음 기호가 안 나오는 문제
1494정성태9/13/201337492.NET Framework: 385. Html Agility Pack 소개 - 웹 문서에서 텍스트만 분리하는 방법 [2]파일 다운로드1
1493정성태9/13/201338763.NET Framework: 384. WebClient.DownloadString 문자열 인코딩 문제
1492정성태9/13/201326592오류 유형: 186. The .NET assembly 'Microsoft.Vsa' could not be found.
1491정성태9/9/201329465.NET Framework: 383. RSAParameters의 ToXmlString과 ExportParameters의 결과 비교
1490정성태9/7/201365211기타: 34. 도서: 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지 [7]
1489정성태9/4/201350060오류 유형: 185. 오피스 워드 파일이 저장되지 않는 문제 [2]
1488정성태8/27/201333467.NET Framework: 382. WCF에서 DataSet을 binary encoding으로 직렬화하는 방법파일 다운로드1
1487정성태8/27/201335804개발 환경 구성: 195. 로컬 PC에서의 WCF 통신을 Fiddler로 보는 방법 [1]
1486정성태8/27/201333237.NET Framework: 381. SqlCommand를 이용해 Microsoft SQL 서버의 쿼리 실행 계획을 구하는 방법파일 다운로드1
1485정성태8/26/201336890.NET Framework: 380. 프로세스 스스로 풀 덤프 남기는 방법 [3]파일 다운로드1
1484정성태8/23/201331174제니퍼 .NET: 24. 제니퍼 닷넷 적용 사례 (4) - GZIP 인코딩으로 인한 성능 하락
1483정성태8/23/201330938.NET Framework: 379. System.IO.MemoryStream, ArraySegment&lt;T&gt; 의 효율적인 사용법 [1]
1482정성태8/23/201324402.NET Framework: 378. Java / C# - 정수의 부호 유무에 따른 16진수 문자열 변환
1481정성태8/22/201325366오류 유형: 184. PaaS 유형(Cloud Services)의 Azure VM에 연결할 때 계정 만료 에러가 발생하는 경우
1480정성태8/22/201341154개발 환경 구성: 194. 윈도우 서버의 80 포트에 대한 port forwarding 설정 방법파일 다운로드1
1479정성태8/14/201329629오류 유형: 183. IIS - 바인딩 추가 시 Object reference not set to an instance of an object 오류 [5]
1478정성태8/14/201332778오류 유형: 182. 윈도우 정품 활성화 오류 - 0x80070426
1477정성태8/14/201331999VC++: 71. codeplex의 Project Austin - 실감나게 책장 넘기는 표현
1476정성태8/13/201339702디버깅 기술: 55. Windbg - 윈도우 핸들 테이블 (2)
1475정성태8/12/201337197.NET Framework: 377. 프로세스가 종료된 후에도 소켓이 살아있다면?파일 다운로드1
1474정성태8/10/201335422오류 유형: 181. 윈도우 8 - WmiPrvSE.exe 프로세스가 CPU 소비하는 현상
1473정성태8/8/201332099VC++: 70. Win32 socket이 Thread-safe할까? [1]파일 다운로드1
1472정성태8/7/201330644.NET Framework: 376. .NET 2.0의 유니코드 관련 문자열 비교 오류
1471정성태8/7/201333348개발 환경 구성: 193. .aspx 확장자 대신 .html 확장자를 사용하는 방법
... 136  137  138  139  140  141  142  143  144  145  [146]  147  148  149  150  ...