MakeCat
MakeCat 도구는 카탈로그 파일을 만드는 CryptoAPI 도구입니다. MakeCat은 Windows 7 및 .NET Framework 4.0용 Microsoft Windows SDK(소프트웨어 개발 키트)의 일부로 사용할 수 있으며 기본적으로 SDK 설치 경로의 \Bin 폴더에 설치됩니다.
MakeCat 도구는 다음 명령 구문을 사용합니다.
MakeCat [-n-r-v||] FileName
매개 변수
매개 변수 | 설명 |
---|---|
-n |
복구 가능한 오류에서 중지하지 마세요. |
-r |
복구 가능한 오류가 발생하면 MakeCat을 강제로 종료합니다. 특히 .cdf 파일의 카탈로그 파일 섹션에서 항목을 처리할 때 종료됩니다. |
-v |
자세한. 모든 진행률 및 오류 메시지를 표시합니다. |
FileName |
구문 분석할 .cdf 파일의 이름입니다. 필요한 구조 및 내용은 비고를 참조하세요. |
설명
.cdf 파일은 다음 사양으로 빌드해야 합니다.
[CatalogHeader]
Name=Name
ResultDir=ResultDir
PublicVersion=[|1]
CatalogVersion = [|1|2]
HashAlgorithms=[|SHA1|SHA256]
PageHashes=[true|false]
EncodingType=Encodingtype
CATATTR1={type}:{oid}:{value} (optional)
CATATTR2={type}:{oid}:{value} (optional)
[CatalogFiles]
{reference tag}=file path and name
{reference tag}ALTSIPID={guid} (optional)
{reference tag}ATTR1={type}:{oid}:{value} (optional)
{reference tag}ATTR2={type}:{oid}:{value} (optional)
<HASH>kernel32.dll=kernel32.dll
<HASH>ntdll.dll=ntdll.dll
참고
.cdf 파일의 마지막 항목에는 항상 줄 끝에 명시적 줄 바꿈 문자가 있어야 합니다.
[CatalogHeader] 섹션에서는 전체 카탈로그 파일에 대한 정보를 정의합니다.
옵션 | 설명 |
---|---|
속성 |
확장명을 포함한 카탈로그 파일의 이름입니다. |
ResultDir |
만든 .cat 파일이 배치될 디렉터리입니다. 표시되지 않으면 기본 현재 디렉터리가 사용됩니다. 디렉터리가 없으면 생성됩니다. |
PublicVersion |
이 옵션은 지원되지 않습니다. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 카탈로그 버전입니다. 비워 두면 기본값 1이 사용됩니다. |
CatalogVersion |
카탈로그 버전입니다. 버전이 없거나 1로 설정된 경우 "0x100"이 CryptCATOpen 함수의 dwPublicVersion 매개 변수에 전달되고 버전 1 카탈로그 파일이 만들어집니다. HashAlgorithms 옵션은 비어 있거나 SHA1을 포함해야 합니다. 버전이 2로 설정된 경우 "0x200"이 CryptCATOpen 함수의 dwPublicVersion 매개 변수에 전달되고 버전 2 카탈로그 파일이 만들어집니다. HashAlgorithms 옵션은 SHA256을 포함해야 합니다. 이 옵션이 있지만 1 또는 2 이외의 값이 포함된 경우 MakeCat 도구에서 오류가 발생합니다. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 옵션은 지원되지 않습니다. |
HashAlgorithms |
사용되는 해시 알고리즘의 이름입니다. 자세한 내용은 CatalogVersion 옵션을 참조하세요. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 옵션은 지원되지 않습니다. |
PageHashes |
[CatalogFiles] 섹션의 HASH> 옵션에 나열된 <파일을 해시할지 여부를 지정합니다. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 옵션은 지원되지 않습니다. |
EncodingType |
사용된 메시지 인코딩의 유형입니다. 비워 두면 기본 EncodingType이 | PKCS_7_ASN_ENCODING. X509_ASN_ENCODING, 0x00010001. |
[CatalogFiles] 섹션에서는 카탈로그 파일의 각 멤버를 다양한 형식의 파일과 다양한 형식의 특성을 별도의 그룹으로 정의합니다.
옵션 | 설명 |
---|---|
참조 태그 |
파일에 대한 텍스트 참조입니다. 등호(=)를 제외한 모든 ASCII 텍스트 문자를 포함할 수 있습니다. 시스템은 설치 후 이 태그를 재현할 수 있어야 합니다. 파일 이름의 접두사로 HASH>를 사용합니다<. 그러면 태그가 ASCII 문자열 형식의 파일 해시가 될 수 있습니다. |
파일 경로 및 이름 |
구문 분석할 확장명 및 파일에 대한 상대 경로를 포함한 파일 이름입니다. SignTool로 서명할 수 있는 모든 형식의 파일을 카탈로그에 추가할 수 있습니다. 예를 들어 .exe, .cab, .cat, .ocx, .dll 및 .stl 등의 확장명을 가진 파일 이름을 카탈로그에 추가할 수 있습니다. |
ALTSIPID |
파일 형식에 따라 표준 SIP 대신 해시에 사용할 SIP GUID입니다. 이 항목은 선택 항목입니다. 이 항목을 생략하면 멤버가 기본 SIP를 사용하여 해시됩니다. 설치된 기본 SIP가 없으면 Flat SIP가 사용됩니다. |
guid |
GUID의 텍스트 표현입니다. |
ATTRx |
선택 사항입니다. 파일 또는 콘텐츠에 대한 특성 또는 문입니다. 없음을 포함하여 여러 특성이 있을 수 있습니다. |
형식 |
0x00000000(텍스트) 형식으로 추가되는 특성 유형을 정의합니다. 이 옵션은 다음 값 중 0개 이상의 비트 OR 조합일 수 있습니다.
|
oid |
특성 참조 키의 텍스트 표현입니다. 점선 쿼드 표기법(예: a.b.c.d) 또는 텍스트 이름에 있는 텍스트 문자열 형식의 OID입니다. |
값 |
특성 값의 텍스트 표현입니다. 사용되는 텍스트 표현의 형식은 형식 옵션의 값에 따라 달라집니다. EOL 문자는 길이를 결정합니다. |
<해시> |
지정된 파일을 해시합니다. |
생성된 카탈로그 파일은 서명되지 않았습니다. 전송 전에 서명하는 경우 SignTool을 사용하여 서명됩니다.