1. Internet Client SDK中的数字签名工具
Internet Client SDK中提供了制作数字签名、证书和以及验证的工具。可以从文字处理实验室的服务器上免费获得。包括
? Cer2spc
这是一个生成软件发布证书(SPC)的工具。它可以从多个X.509证书创建一个SPC。
? Certmgr
管理SPC的工具,包括增加、删除、重新生成SPC Store的功能。
? Chktrust
检验一个文件包是否含有合法的数字签名
? Makecert
创建一个X.509证书。
? Signcode
使用软件证书为软件包签名的工具。
使用这些工具可以方便的制作各种证书、签名,以及校验。进一步的MSDN中另外还提供了Microsoft CryptoAPI来进一步的操纵生成X.509或者PKCS#7,PKCS#7(RSA Public-Key Cryptography Standard)的证书。
2. Microsoft CryptoAPI
使用CryptoAPI不但可以用于软件下载中的省份验证,而且可以用于网络通讯中的身份验证。
CryptoAPI包含以下几类功能:
? Cryptographic Functions
提供基本对称密钥和公钥系统加密解密算法的实现,以及密钥生成等辅助功能。
? Certificate Store Functions
提供证书存储、分类和目录的功能,协助管理证书、证书恢复列表Certificate Revocation Lists (CRLs), 证书信任列表and Certificate Trust Lists (CTLs).
? Certificate Helper Functions
提供操纵证书的功能,包括比较、证书转换、消息摘要、签名、校验等。
? Crypt Time Valid Object Retrieval Functions
提供时间服务,包括对时间服务器的访问,证书有效时间的验证、修改等。
? OID Support Functions
微软的对象标识技术的支持函数,提供对SDCOM(Security DCOM+)的支持
3. X.509证书的标准
ITU-T建议的X.509(ISO/IEC 9594-8)认证证书,结构如下:
域 描述
Version版本号 证书版本
Serial Number序列号
Algorithm Identifier数字签名算法标识
Issuer Name发布证书者
Validity:有效日期 不早于XX/XX/XX,不晚于XX/XX/XX
Subject Name证书持有者名
Subject Public Key Info: 证书持有者公钥 公钥算法标识与公钥串
Optional Fields可选
Extensions扩展