我正在寻找有关使用Microsoft安全目录的API的任何文档,或者代替该文档格式的信息,以便我可以编写自己的解析器。
简而言之,我有一些我需要能够使用的.cat文件。在十六进制编辑器中查看文件,它们显然具有不同的区域,这些区域以某种方式分隔(看起来像典型的二进制保存结构)。我需要从中获取某些信息,并忽略其他信息。
我可能可以对格式进行反向工程并解析出我需要的内容,但是我更喜欢通过Win32 API来实现,或者至少编写我的解析器以使格式正确,而不仅仅是“能够做我需要做的事情“。
MSCAT32.DLL似乎是非常重要的,但我不确定它是否有出口来做我需要的......它有点神秘(没有双关语意)。任何信息都会有所帮助。
只是在这里再添加一些关键词...
MIME类型为:application / vnd.ms-pki.seccat 魔术头字节是:30 80 09 06 文件中的字段分隔符似乎是:EOT(04)和€(80) 生成它们的程序是:MakeCat.exe
答案 0 :(得分:1)
以下是makecat使用的wintrust调用的定义 在目录定义函数Catalog Functions下查看,它由证书信任列表(CTL)组成。已由可信实体签名的预定义项目列表。 CTL可以是任何内容,例如证书哈希列表或文件名列表。列表中的所有项目均由签名实体进行身份验证(已批准)。
反过来由pkcs#7 blobs
组成答案 1 :(得分: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
。