다음을 통해 공유


IX509PublicKey::get_EncodedParameters 메서드(certenroll.h)

EncodedParameters 속성은 공개 키 알고리즘과 연결된 매개 변수를 포함하는 바이트 배열을 검색합니다. 바이트 배열은 유니코드로 인코딩된 문자열로 표시됩니다.

이 속성은 읽기 전용입니다.

구문

HRESULT get_EncodedParameters(
  EncodingType Encoding,
  BSTR         *pValue
);

매개 변수

Encoding

pValue

반환 값

없음

설명

InitializeFromEncodedPublicKeyInfo 메서드 또는 Initialize 메서드를 호출하여 이 속성을 호출하기 전에 공개 키 개체를 초기화합니다.

X.509 버전 3 인증서의 SubjectPublicKeyInfo 개체에서 참조하는 AlgorithmIdentifier ASN.1(추상 구문 표기법 One) 개체에는 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)도 키 전송에 지원됩니다. 매개 변수 필드에는 다음 구문이 있습니다.

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)은 키 계약에 지원됩니다. 키 계약은 다음 두 가지 수준의 암호화를 사용합니다.
  • 메시지는 CEK(콘텐츠 암호화 키) 및 대칭 암호화 알고리즘을 사용하여 암호화됩니다.
  • CEK는 KEK( 대칭 키 암호화 키)를 사용하여 암호화(래핑)됩니다.
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(Advanced Encryption Standard)는 콘텐츠를 암호화하는 데 사용됩니다. 지원되는 알고리즘은 다음과 같습니다.
  • 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