微软安全目录格式的文档和API示例(Microsoft Security Catalog Forma

2019-08-22 14:20发布

我正在寻找在API的文档与微软安全产品目录的工作,或代称,对文件格式的信息,这样我可以写我自己的解析器。

总之,我有我需要能够一起工作的一些.cat文件。 看着一个十六进制编辑器文件,他们显然有不同的区域,这在某种程度上分隔(看起来像典型的二元结构保存)。 我需要摆脱他们的某些信息,而忽略其他信息。

我大概可以反向工程的格式,并解析出我需要什么,但我更愿意做,要么通过Win32 API,或者至少写我的解析器的格式是正确的,而不是仅仅“能够做什么,我需要做的。”

MSCAT32.DLL似乎是signficant之一,但我不知道它有出口做什么,我需要......这是一个有点神秘(没有双关语意)。

任何信息都将是有益的。

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

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

Answer 1:

这里是由下目录定义功能makecat看使用的wintrust调用的定义目录的功能 ,其是由证书信任列表(CTL)已经由受信任的实体签署的项目的预定义列表中。 一个CTL可以是任何东西,比如证书的散列的列表或文件名列表。 列表中的所有项目都通过签署实体认证(认证)。

这又由上PKCS#7的斑点



Answer 2:

微软安全产品目录只不过是二进制文件,以ASN.1 DER格式编码的更多。 里面的文件是PKCS#7与微软具体的东西(与微软的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在许多情况下。



文章来源: Microsoft Security Catalog Format Documentation and API Samples