IX509PublicKey インターフェイス (certenroll.h)

IX509PublicKey インターフェイスは、公開キーと秘密キーのペアの公開キーを表します。 公開キーは、証明機関 (CA) に送信される証明書要求と、CA から受信した証明書に含まれます。 詳細については、「 公開キーと秘密キーのペア」を参照してください。

証明書登録コントロールは、公開キーと秘密キーをバイト配列に渡します。 次の証明書の例は、RSA 署名アルゴリズム (XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) を使用して作成された 1024 ビット公開キーを示しています。


...
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
...

公開キーは、2 つの大きな素数と 96 ビット指数を乗算して作成された 1024 ビットの剰余で構成されます。 RSA アルゴリズムは、標準の Euclidian 数式の指数と素数を使用して秘密キーを作成します。 同じ公開キーの次の 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

こちらもご覧ください

CertEnroll インターフェイス

IDispatch

IX509PrivateKey

公開キーと秘密キーのペア