다음을 통해 공유


MakeCat 사용

MakeCat 도구는 집합에 있는 각 파일의 연결된 특성과 함께 파일 집합의 해시를 포함하는 서명되지 않은 카탈로그 파일을 만듭니다. 카탈로그 파일을 사용하면 사용자가 수많은 개별 파일에 서명하는 대신 하나의 파일(카탈로그)에 서명할 수 있습니다.

서명되지 않은 카탈로그 파일이 서명되고 전송된 후 수신기는 원래 파일의 해시를 카탈로그 파일에 포함된 해시와 비교하고 파일이 변조되지 않는지 확인할 수 있습니다.

MakeCat 도구를 사용하기 전에 사용자는 텍스트 편집기를 사용하여 카탈로그 정의 파일(.cdf)을 준비해야 합니다. .cdf 파일에는 파일 목록과 카탈로그화할 파일의 특성이 포함되어 있습니다(사양은 아래에 나열되어 있습니다). MakeCat 도구는 .cdf 파일을 검색하고, 나열된 각 파일의 특성 목록을 확인하고, 나열된 특성을 카탈로그 자체에 추가하고, 나열된 각 파일을 해시하고, 각 파일의 해시를 카탈로그 파일에 저장합니다. 각 파일에는 카탈로그 내에 별도로 저장된 해시 및 특성이 있습니다. 그런 다음 이 카탈로그 파일을 서명하고 전송할 수 있습니다. 수신기는 이후에 카탈로그 내의 각 파일의 해시를 원래 파일의 해시와 비교하여 원본 콘텐츠가 변조되지 않는다는 것을 증명할 수 있습니다. MakeCat은 .cdf 파일을 수정하지 않습니다.

다음 예제에서는 MakeCat 명령을 사용합니다.

  • Good.cdf 파일에서 카탈로그 파일을 생성합니다.

    MakeCat -v good.cdf

Good.cdf 파일은 파일 UnsignedPE.exe, UnsignedDOS.exe, Unsigned.cab, Unsigned.Class 및 SignedPE.exe 구문 분석하여 카탈로그 파일을 Good.cat 생성합니다. 구문 분석된 파일과 Good.cdf 및 새로 생성된 Good.cat 모두 동일한 디렉터리에 있습니다.

[CatalogHeader]
Name=Good.cat
ResultDir=.\
PublicVersion=0x00000001
EncodingType=
CATATTR1=0x10010001:Movie1:FirstMovie
CATATTR2=0x10010001:Movie2:SecondMovie
CATATTR3=0x10010001:Movie3:ThirdMovie

[CatalogFiles]
UnsignedPE=.\UnsignedPE.EXE
UnsignedDOS=.\UnsignedDOS.EXE
<HASH>UnsignedCAB=.\Unsigned.CAB
UnsignedClass=.\Unsigned.Class
SignedPE=.\SignedPE.EXE

참고

.cdf 파일의 마지막 항목에는 항상 줄 끝에 명시적 줄 바꿈 문자가 있어야 합니다.