5

我正在寻找有关使用 Microsoft 安全目录的 API 的任何文档,或者替代文件格式的信息,以便我可以编写自己的解析器。

简而言之,我有一些需要使用的 .cat 文件。在十六进制编辑器中查看文件,它们显然具有不同的区域,这些区域以某种方式分隔(看起来像典型的二进制保存结构)。我需要从中获取某些信息,而忽略其他信息。

我可能可以对格式进行逆向工程并解析出我需要的东西,但我更愿意通过 Win32 API 来做到这一点,或者至少编写我的解析器以适应格式,而不是仅仅“能够做我想做的事”需要它来做”。

MSCAT32.DLL 似乎是重要的一个,但我不确定它是否有出口来做我需要的事情......这有点神秘(不是双关语)。

任何信息都会有所帮助。

只是在这里折腾几个关键字...

MIME 类型是:application/vnd.ms-pki.seccat 魔术头字节是:30 80 09 06 文件中的字段分隔符似乎是:EOT (04) 和 € (80) 生成它们的程序是: MakeCat.exe

4

2 回答 2

1

这是 makecat 使用的 wintrust 调用的定义 查看目录定义函数目录函数由证书信任列表 (CTL) 组成 已由受信任实体签名的项目的预定义列表。CTL 可以是任何东西,例如证书哈希列表或文件名列表。列表中的所有项目都由签名实体进行身份验证(批准)。

依次由 pkcs#7 blob 组成

于 2010-12-10T18:03:03.957 回答
1

Microsoft 安全目录只不过是二进制文件,以 ASN.1 DER 格式编码。文件内部是 PKCS#7 签名数据,其中包含 Microsoft 特定内容的附加字段(使用 Microsoft OID 编码)。可以在此处找到这些 OID 的列表:https: //support.microsoft.com/en-us/kb/287547

如果你想解码 ASN.1 DER,例如使用这个基于 JavaScript 的编码器:http: //lapo.it/asn1js/

顺便说一句:30 80 09 06不是文件魔术,而是意味着SEQUENCE从那里开始有一个长度未知的建设性文件。ASN.1 DER 文件没有任何魔力,但以 a 开头(在许多情况下SEQUENCE,它在 DER 中编码。0x30

于 2015-07-16T10:33:47.757 回答