MSVerifyCertRevocation()返回true。
· MSgetPrivateKey()为一个特定的别名(alias )返回私钥。(这里所说的一个别名就是带有一个RSA私钥和证书的一个身份。)钥匙从Microsoft钥匙库中输出。
· MSgetCert()为一个特定的别名从Microsoft证书库中返回一个证书。
· MSgetAliases()返回一组别名(带有私钥的一个身份的名字)。Microsoft钥匙库中的每个私钥都有一个别名。
· MSrsaSignHash()返回哈希数据(hashed data)的RSA签名。
· MSrsaDecrypt()用RSA算法来解密一个先前加密了的数据块。
· MSrsaEncrypt()用Microsoft RSA provider来加密一个数据块。
· MSrsaGetKeysize()返回Microsoft钥匙库中一个钥匙的RSA钥匙大小。
· MSgetCRL()将一个证书撤消清单(Certificate Revocation List(CRL))下载到Microsoft Internet缓存中。
一个约500行的用C语言代码编写的源文件mscryptofunctions.c中包含了所有这些函数。该代码可以在Windows 98/NT4/2000/XP上运行。
公共钥匙加密算法
公共钥匙加密有两个目的:加密和数字签名。公共钥匙加密运用一个包含两部分的钥匙(或一对钥匙):一个私钥和一个公钥。公钥带有开始和终止日期、一个序号、一个身份(称为Subject Distinguished Name)、和一个CA的签名(见列表1)。RSA是最常用的公共钥匙加密算法。
公共钥匙加密运用一个公钥和一个私钥。一个数字证书(如下所示)包含公钥、开始和结束日期、一个序号、一个身份和一个证书授权中心(CA)的签名。
Serial number:
6822 3C33 7945 3AC8 F8C5 398B 7469 94E1
Signature algorithm: md5RSA
Issuer: CN = VeriSign Class 1 CA Individual
Subscriber-Persona Not Validated,
OU = www.verisign.com/repository/RPA Incorp.
By Ref.,LIAB.LTD(c)98,
OU = VeriSign Trust Network, O = VeriSign, Inc.
Valid from: Wednesday, May 30, 2001 7:00:00 PM
Valid to: Monday, July 30, 2001 6:59:59 PM
Subject: E = boyter@txdirect.net,
CN = Brian Boyter,
OU = Digital ID Class 1 <\? Microsoft,
OU = Persona Not Validated,
OU = www.verisign.com/repository/RPA Incorp.
by ref.,LIAB.LTD(c)98,
OU = VeriSign Trust Network, O = VeriSign, Inc.
Public key: 3081 8902 8181 00BA B459 0F39 156E
C69E C238 BFD0 401D DBB9 D207 DFA4 5DBD 09F3
5CE6 B5E6 C357 88DD 808B 0699 5F68 A2A4 6A8A
3B21 6D3D D0A1 1E5F DAB1 FB8E F835 F84F 849B
29A4 6943 8D59 0669 7C81 1D00 03B7 1A02 4E7A
8596 11BD 7CC4 07A3 D7E5 9FF6 5684 B853 04F0
0938 A11E 5218 F9AB F034 070D C8C4 6652 C19B
4C57 E435 EFDC 85D4 B269 07B7 0102 0301 0001
Basic constraints: Subject Type=End Entity,
Path Length Constraint=None
Certificate policy:
Policy Qualifier Id=CPS Qualifier:
https://www.verisign.com/CPS
Policy Qualifier Info:
Organization=VeriSign, Inc.,
Notice Number=1
CRL Distribution Point Distribution Point Name:
Full Name:
URL=http://crl.verisign.com/class1.crl
Thumbprint algorithm: sha1
Thumbprint: 74A8 9F07 43AA 8FFC C4D5 AB09 3773 3AFF F7E7 DFFC
将Java加密技术同Windows结合起来(3)
时间:2010-12-12
公共钥匙加密中的加密是用公钥来完成的,解密是用私钥完成的。公共钥匙加密对于大量的加密来说运算很复杂,但它却被广泛用来分配密钥。密钥,或对称加密算法,如DES和RC4,通常用于大量的加密,但是密钥加密算法需要一些保密的方法来交换用于大量加密的钥匙。一种技术是生成一个随机数,用公共钥匙 |