【问题标题】:Microsoft Security Catalog Format Documentation and API SamplesMicrosoft 安全目录格式文档和 API 示例
【发布时间】:2010-12-08 13:36:51
【问题描述】:

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

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

我可能可以对格式进行逆向工程并解析出我需要的内容,但我更愿意通过 Win32 API 来执行此操作,或者至少编写我的解析器以对格式正确,而不仅仅是“能够做我需要它做的事”。

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

任何信息都会有所帮助。

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

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

【问题讨论】:

    标签: security catalog cat


    【解决方案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 文件没有任何魔力,但以 SEQUENCE 开头(在许多情况下,在 DER 中编码为 0x30

    【讨论】:

      【解决方案2】:

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

      它们又由 pkcs#7 blob 组成

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-18
        • 2019-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-04
        相关资源
        最近更新 更多