IX509PublicKey 接口 (certenroll.h)
IX509PublicKey 接口表示公钥/私钥对中的公钥。 公钥包含在发送到证书颁发机构的证书请求中, (CA) 以及从 CA 接收的证书中。 有关详细信息,请参阅 公钥/私钥对。
证书注册控件在字节数组中传递公钥和私钥。 以下证书示例演示使用 RSA 签名算法创建的 1024 位公钥,XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) 。
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_SIGN)
Algorithm Parameters:
05 00
Public Key Length: 1024 bits
Public Key: UnusedBits = 0
0000 30 81 89 02 81 81 00 8f e2 41 2a 08 e8 51 a8 8c
0010 b3 e8 53 e7 d5 49 50 b3 27 8a 2b cb ea b5 42 73
0020 ea 02 57 cc 65 33 ee 88 20 61 a1 17 56 c1 24 18
0030 e3 a8 08 d3 be d9 31 f3 37 0b 94 b8 cc 43 08 0b
0040 70 24 f7 9c b1 8d 5d d6 6d 82 d0 54 09 84 f8 9f
0050 97 01 75 05 9c 89 d4 d5 c9 1e c9 13 d7 2a 6b 30
0060 91 19 d6 d4 42 e0 c4 9d 7c 92 71 e1 b2 2f 5c 8d
0070 ee f0 f1 17 1e d2 5f 31 5b b1 9c bc 20 55 bf 3a
0080 37 42 45 75 dc 90 65 02 03 01 00 01
...
公钥由一个 1024 位模数组成,该模数将两个大质数和一个 96 位指数相乘。 RSA 算法使用标准欧几里德公式中的指数和质数来创建私钥。 通过检查同一公钥的以下 ASN.1 输出,可以更清楚地识别模数和指数。 由于模数以为其设置了符号位的字节 (0x8F) 开始,因此在前面添加0x00以确保整数保持无符号。 其他公钥算法创建由不同组成部分组成的公钥。
30 81 89 ; SEQUENCE (89 Bytes)
02 81 81 ; INTEGER (81 Bytes)
| 00 // Modulus
| 8f e2 41 2a 08 e8 51 a8 8c b3 e8 53 e7 d5 49 50
| b3 27 8a 2b cb ea b5 42 73 ea 02 57 cc 65 33 ee
| 88 20 61 a1 17 56 c1 24 18 e3 a8 08 d3 be d9 31
| f3 37 0b 94 b8 cc 43 08 0b 70 24 f7 9c b1 8d 5d
| d6 6d 82 d0 54 09 84 f8 9f 97 01 75 05 9c 89 d4
| d5 c9 1e c9 13 d7 2a 6b 30 91 19 d6 d4 42 e0 c4
| 9d 7c 92 71 e1 b2 2f 5c 8d ee f0 f1 17 1e d2 5f
| 31 5b b1 9c bc 20 55 bf 3a 37 42 45 75 dc 90 65
02 03 ; INTEGER (3 Bytes)
01 00 01 // Exponent
继承
IX509PublicKey 接口继承自 IDispatch 接口。 IX509PublicKey 还具有以下类型的成员:
方法
IX509PublicKey 接口具有这些方法。
IX509PublicKey::ComputeKeyIdentifier 从公钥的 160 位 SHA-1 哈希创建标识符。 |
IX509PublicKey::get_Algorithm 检索公钥算法 (OID) 的对象标识符。 |
IX509PublicKey::get_EncodedKey 检索包含公钥的字节数组。 |
IX509PublicKey::get_EncodedParameters 检索包含与公钥算法关联的参数的字节数组。 |
IX509PublicKey::get_Length 检索公钥的长度。 |
IX509PublicKey::Initialize 从公钥算法对象标识符 (OID) 以及包含公钥和关联参数的字节数组(如果有)初始化对象。 |
IX509PublicKey::InitializeFromEncodedPublicKeyInfo 从包含公钥的字节数组初始化 对象。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |