OEM激活Windows 7需要三个条件,即SLIC 2.1、OEM证书、OEM密钥,上一篇介绍过SLIC的组成结构,现在我们来看一下OEM证书到底品貌如何,这个xrm-ms文件里头到底装载哪些宝藏呢,本文就来浅析一下,跟SLIC一样,单凭经验或猜测很难完全明白这些东西的流程,否则微软要要让OEM厂商更换证书版本了。
OEM证书虽然扩展名是XRM-MS,实际格式是XML的,所以查看页很简单,只需要拉到浏览器窗口即可看到证书的全部内容。XML没什么好介绍的,只是一种文件格式而已,编程访问XML也非常方便,一般也可以作为小型数据库使用,本文我们只关心这个文件有用内容,即XML的字段信息,确切的讲,本文的某些解释肯定是有问题的,只能作为研究参考用途,当然,猜的人多了,结果也就出来了*_*。
本文的示例就以联想的OEM证书为例,文件为LENOVO.XRM-MS,为了方便理解,天缘特别分段抓图说明。
OEM证书的主体分四个部分:证书标题部分(title)、授权部分(grant)、发布商部分(issuer)和其他信息部分(otherInfo)。
一、证书标题部分
其中:
1、licenseId是证书ID编号,不同厂家、不同证书ID不同。
2、title值为OEM Certificate,不同厂家、不同证书版本全部相同。
二、授权部分
其中:
1、Algorithm此算法由微软指定,不同厂家不同证书同时期相同
2、sl:data里头包含OEMID、OEM公钥等信息
三、发布商部分
发布商字段包含两个部分,Signature部分和r:details部分,如下图:
厂家Signature签名包含SignedInfo、SignatureValue和KeyInfo三个部分,SignedInfo部分如下图:
其中:
1、CanonicalizationMethod表示规范化算法
2、Transforms表示转换算法
3、SignnatureMethod表示HASH算法
4、DigestValue用来验证本证书的有效性
SignatureValue部分只包含数字签名值,如下图:
KeyInfo部分如下图:
其中RSAKeyValue公钥是被Windows操作系统用来解密数字签名SignatureVaule,(跟DigestValue进行比较?),从而验证SignedInfo的正确性。
r:details部分列出证书的发行时间,如下图:
四、其他信息部分
otherInfo字段信息如下图: