다음을 통해 공유


IObjectId::InitializeFromAlgorithmName 메서드(certenroll.h)

InitializeFromAlgorithmName 메서드는 알고리즘 이름 또는 개체 식별자에서 개체를 초기화합니다. 이 메서드는 주로 Cryptography API: Next Generation(CNG) 알고리즘 이름에서 개체를 초기화할 수 있도록 제공되었습니다. 그러나 OID 이름을 지정할 수 있습니다. 이 메서드는 웹을 사용할 수 있습니다.

구문

HRESULT InitializeFromAlgorithmName(
  [in] ObjectIdGroupId        GroupId,
  [in] ObjectIdPublicKeyFlags KeyFlags,
  [in] AlgorithmFlags         AlgFlags,
  [in] BSTR                   strAlgorithmName
);

매개 변수

[in] GroupId

검색할 OID 그룹을 지정하는 ObjectIdGroupId 열거형 값입니다. 다음 알고리즘 그룹 중 어느 것일 수 있습니다.

  • XCN_CRYPT_HASH_ALG_OID_GROUP_ID
  • XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID
  • XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID
  • XCN_CRYPT_SIGN_ALG_OID_GROUP_ID
또한 암호화 알고리즘을 포함하지 않는 그룹을 지정할 수도 있습니다.
  • XCN_CRYPT_RDN_ATTR_OID_GROUP_ID
  • XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID
  • XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID
  • XCN_CRYPT_POLICY_OID_GROUP_ID
  • XCN_CRYPT_TEMPLATE_OID_GROUP_ID

[in] KeyFlags

서명 또는 암호화 알고리즘을 검색할지 여부를 지정하는 ObjectIdPublicKeyFlags 열거형 값입니다. 다음 값 중 하나일 수 있습니다.

  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
두 값 중 하나를 사용하여 메시지를 암호화하고 서명하는 데 사용할 수 있는 RSA와 같은 알고리즘을 구분할 수 있습니다. GroupId 매개 변수에 XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID 지정해야 합니다.

[in] AlgFlags

AlgorithmFlags 열거형 값입니다. 다음 값 중 하나일 수 있습니다.

  • AlgorithmFlagsNone
  • AlgorithmFlagsWrap
GroupId 매개 변수에 대한 XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID 지정하는 경우 AlgorithmFlags 열거형을 사용하여 키를 래핑하는 데 사용할 수 있는 OID를 검색할 수 있습니다. 예를 들어 128의 비트 길이를 지정하고(주의 섹션 참조), strAlgorithmName 매개 변수를 AES로 설정하고 AlgorithmFlagsWrap을 지정하는 경우 AES128wrap 알고리즘에 대한 정보를 검색할 수 있습니다.

[in] strAlgorithmName

이름을 포함하는 BSTR 변수입니다. 이름 또는 OID를 점선 10진수 형식으로 지정할 수 있습니다. 메서드는 형식이 ASN.1 X.208 표준과 일치하는지 확인합니다. CNG 알고리즘 이름에 대한 자세한 내용은 CNG 알고리즘 식별자를 참조하세요.

반환 값

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

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

반환 코드/값 설명
CERTSRV_E_PROPERTY_EMPTY
OID 정보를 찾을 수 없습니다.
CRYPT_E_UNKNOWN_ALGO
알고리즘 이름이 인식되지 않습니다.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
개체가 이미 초기화되어 있습니다.

설명

GroupId 매개 변수의 상위 16비트 를 사용하여 가변 비트 길이를 허용하는 알고리즘의 키 크기를 지정할 수 있습니다. 예를 들어 192비트 AES 알고리즘에서 IObjectId 개체를 초기화하려면 strAlgorithmName 매개 변수에 "AES"를 지정하고, 왼쪽으로 길이를 16으로 이동하고, 이동된 비트 길이와 GroupId 값에 대해 비트 OR 조합을 수행합니다.

요구 사항

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

추가 정보

IObjectId