2012-01-31 5 views
0

하나의 마커 파일과 관련된 모든 암호화 인증서를 다른 파일 세트에 복사하고 싶습니다.NTFS EFS : 한 파일의 암호화 인증서를 다른 파일로 복사하는 방법은 무엇입니까?

확실히하는 PENCRYPTION_CERTIFICATE_HASH_LIST를 반환 QueryUsersOnEncryptedFile 기능이있다, 그리고 PENCRYPTION_CERTIFICATE_LIST 걸리는 AddUsersToEncryptedFile 기능이있다.

내가 이해하는 한 인증서를 복사하려면 인증서 해시 목록으로 다시 변환해야합니다.

이 전환을 만들기 위해 나는 CertFindCertificateInStore으로 장난하고있었습니다. 즉,하지만 모든 인증서를 들어, 심지어 어떤 인증서 저장소 (들) 내가 쿼리해야을 모르겠어요을 확장합니다 일부까지했다 ... 나는 몇 가지를 시도 않았다 CA, ROOT, MY, SPC, Trust, TrustedPeople, AuthRoot (심지어는 AddressBook, 인증서의 오래된 캐시가 포함 된 것 같습니다. 일부는 이미 만료되었지만) 그 중 어느 것도 내가 해시 한 모든 인증서에 대한 액세스 권한을 부여하지 않았습니다.

인증서 해시를 인증서 자체에 안정적으로 매핑하려면 어떻게해야합니까? (일부 예제 코드는 좋을 것입니다.)

미리 감사드립니다. 나는 또한이 같은 대상 파일에서 다른 모든 인증서를 제거하려는

: 사이드 참고로


. 이를 위해 RemoveUsersFromEncryptedFile이라는 기능이 있으며 PENCRYPTION_CERTIFICATE_HASH_LIST이 필요합니다.

각 파일에 처음으로 QueryUsersOnEncryptedFile을 호출하고이 결과 인증서 해시 목록을 RemoveUsersFromEncryptedFile (동일한 파일에 있음)으로 전달하면이 목록을 수집 할 수 있다고 상상해보십시오.

하지만주의해야 할 점은 모든 인증서를 잃어 버리거나 파일을 다른 사람이 더 이상 액세스 할 수 없다는 것입니다. 이 중간 해시 목록에서 내 자신의 인증서 (그리고 다른 어떤 다른 인증서도 허용) 인증서 해시를 안전하게 무효화 할 수 있습니까? (주어진 FreeEncryptionCertificateHashList 기능이 있다는 것을 감안할 때)

답변

1

내가 직접 대답을 찾았습니다. 정확히 내가 필요한 것을 수행하는 DuplicateEncryptionInfoFile이라는 API가 있습니다. 좀 더 검색해야합니다 ...

이 질문 + 답변은 언젠가 누군가를 위해 도움이 되었기를 바랍니다.