Share via


IX509AttributeArchiveKey::InitializeEncode 메서드(certenroll.h)

InitializeEncode 메서드는 IX509PrivateKey 개체, 인증 기관 암호화 인증서 및 대칭 암호화 알고리즘 개체 식별자(OID)에서 특성을 초기화합니다.

구문

HRESULT InitializeEncode(
  [in]           IX509PrivateKey *pKey,
  [in]           EncodingType    Encoding,
  [in]           BSTR            strCAXCert,
  [in, optional] IObjectId       *pAlgorithm,
  [in]           LONG            EncryptionStrength
);

매개 변수

[in] pKey

키를 나타내는 IX509PrivateKey 인터페이스에 대한 포인터입니다.

[in] Encoding

암호화된 키를 포함하는 입력 문자열에 적용되는 유니코드 인코딩 유형을 지정하는 EncodingType 열거형 값입니다.

[in] strCAXCert

프라이빗 키를 암호화하는 데 사용되는 공개 키를 포함하는 인증 기관 암호화 인증서를 포함하는 BSTR 변수입니다.

Windows 7 및 Windows Server 2008 R2부터는 인코딩된 인증서 대신 인증서 지문 또는 일련 번호를 지정할 수 있습니다. 이렇게 하면 함수가 일치하는 인증서에 대한 적절한 로컬 저장소를 검색합니다. 다음 사항을 주의하세요.

  • BSTR은 짝수의 16진수여야 합니다.
  • 16진수 쌍 간의 공백은 무시됩니다.
  • 인코딩 매개 변수는 XCN_CRYPT_STRING_HEXRAW 설정해야 합니다.
  • 개인 및 요청 저장소만 프라이빗 키를 검색합니다.

[in, optional] pAlgorithm

프라이빗 키를 암호화하는 데 사용되는 대칭 암호화 알고리즘의 OID를 나타내는 IObjectId 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. OID를 제공하지 않으면 XCN_OID_RSA_DES_EDE3_CBC(Triple DES)가 사용됩니다.

[in] EncryptionStrength

pAlgorithm 매개 변수로 식별된 알고리즘의 암호화 강도를 포함하는 LONG 변수입니다. 인증서 등록 SDK는 OID가 아직 강도(키 길이)를 의미하지 않는 알고리즘을 지원하지 않으므로 이 매개 변수는 현재 사용되지 않습니다. 예를 들어 AES에는 여러 강도가 있지만 강도 각각은 이미 OID로 표시됩니다.

반환 값

함수가 성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

설명

이 특성의 개체 식별자는 XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13)입니다. 자세한 내용은 CERTENROLL_OBJECTID 참조하세요.

IX509AttributeArchiveKey 개체를 사용하려면 먼저 InitializeEncode 또는 InitializeDecode를 호출해야 합니다. 두 메서드는 서로를 보완합니다. InitializeEncode 메서드를 사용하면 원시 데이터에서 인코딩된 ASN.1(추상 구문 표기법 1) 구조를 생성할 수 있으며 InitializeDecode 메서드를 사용하면 인코딩된 ASN.1 구조체에서 원시 데이터를 초기화할 수 있습니다. 다음 속성을 호출하여 원시 데이터를 검색할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h
DLL CertEnroll.dll

추가 정보

IX509AttributeArchiveKey