IX509PublicKey::get_EncodedParameters 方法 (certenroll.h)

EncodedParameters 屬性會擷取位元組陣列,其中包含與公鑰演演算法相關聯的參數。 位元組陣列是以 Unicode 編碼的字串表示。

這個屬性是唯讀的。

語法

HRESULT get_EncodedParameters(
  EncodingType Encoding,
  BSTR         *pValue
);

參數

Encoding

pValue

傳回值

備註

呼叫 InitializeFromEncodedPublicKeyInfo 方法或 Initialize 方法,以在呼叫這個屬性之前初始化公鑰物件。

AlgorithmIdentifier Abstract Syntax Notation One (ASN.1) 物件,在 X.509 版 3 憑證中,SubjectPublicKeyInfo 物件所參考的物件包含演演算法 物件標識符 (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 值是以兩個字節表示。 卷標編號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) 。 金鑰協定使用兩種加密層級: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 的內容加密

進階加密標準 (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。

AES-IV ::= OCTET STRING (SIZE(16))

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IX509PublicKey