IX509PublicKey::get_EncodedParameters メソッド (certenroll.h)
EncodedParameters プロパティは、公開キー アルゴリズムに関連付けられているパラメーターを含むバイト配列を取得します。 バイト配列は、Unicode でエンコードされた文字列で表されます。
このプロパティは読み取り専用です。
構文
HRESULT get_EncodedParameters(
EncodingType Encoding,
BSTR *pValue
);
パラメーター
Encoding
pValue
戻り値
なし
解説
InitializeFromEncodedPublicKeyInfo メソッドまたは Initialize メソッドを呼び出して、このプロパティを呼び出す前に公開キー オブジェクトを初期化します。
X.509 バージョン 3 証明書の SubjectPublicKeyInfo オブジェクトによって参照される AlgorithmIdentifier Abstract Syntax Notation One (ASN.1) オブジェクトには、アルゴリズム オブジェクト識別子 (OID) と省略可能なパラメーターが含まれています。
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
パラメーターの形式と内容はアルゴリズムによって異なります。 証明書登録コントロールは、必要に応じてさまざまなアルゴリズムのパラメーター値を生成します。 詳細については、以下のセクションを参照してください。
- RSA 公開キー アルゴリズム
- RSA-OAEP を使用したキー トランスポート
- ECDH を使用したキー 契約
- AES を使用したコンテンツ暗号化
RSA 公開キー アルゴリズム
RSA は多くの場合、 秘密キー を暗号化し、アーカイブのために 証明機関 (CA) に送信するために使用されます。 XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) アルゴリズム OID には NULL パラメーター値が必要です。 ASN.1 NULL 値は 2 バイトで表されます。 タグ番号が0x05され、タグに関連付けられている値が0x00。 これは、次の証明書の例で示されています。
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_KEYX)
Algorithm Parameters:
05 00
...
RSA-OAEP を使用したキー トランスポート
RSA-OAEP アルゴリズム (XCN_OID_RSAES_OAEP (1.2.840.113549.1.1.7) もキー トランスポートでサポートされています。 parameters フィールドには、次の構文があります。
RSAES-OAEP-params ::= SEQUENCE
{
hashFunc [0] AlgorithmIdentifier DEFAULT sha1OID,
maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1OID,
pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmptyOID
}
ECDH を使用したキー 契約
キー アグリーメントでは、単一パス楕円曲線 Diffie-Hellman アルゴリズム (XCN_OID_DH_SINGLE_PASS_STDDH_SHA1_KDF (1.3.133.16.840.63.0.2) がサポートされています。 キー アグリーメントでは、次の 2 つのレベルの暗号化が使用されます。KEK は、一方のパーティの秘密キーと他方のパーティの公開キーから計算される共有シークレット番号から計算されます。 パラメーター フィールドには、CEK をラップまたは暗号化するために使用される KEK アルゴリズムの OID が含まれています。 次のラップ アルゴリズムがサポートされています。- XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.)
- XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
- XCN_OID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- XCN_OID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- XCN_OID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
AES を使用したコンテンツ暗号化
Advanced Encryption Standard (AES) は、コンテンツの暗号化に使用されます。 次のアルゴリズムがサポートされています。- XCN_OID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
- XCN_OID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
- XCN_OID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
AES-IV ::= OCTET STRING (SIZE(16))
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |