CertIsRDNAttrsInCertificateName 함수(wincrypt.h)

CertIsRDNAttrsInCertificateName 함수는 인증서 이름의 특성을 지정된 CERT_RDN 비교하여 모든 특성이 포함되는지 여부를 확인합니다. 비교는 CERT_RDN 반복하고 인증서 이름의 CERT_RDN중에서 특성 일치를 찾습니다.

구문

BOOL CertIsRDNAttrsInCertificateName(
  [in] DWORD           dwCertEncodingType,
  [in] DWORD           dwFlags,
  [in] PCERT_NAME_BLOB pCertName,
  [in] PCERT_RDN       pRDN
);

매개 변수

[in] dwCertEncodingType

사용되는 인코딩 형식을 지정합니다. 다음 예제와 같이 비트 OR 작업과 결합하여 인증서 및 메시지 인코딩 형식을 모두 지정할 수 있습니다.

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

현재 정의된 인코딩 형식은 다음과 같습니다.

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] dwFlags

pRDNcryptEncodeObject에서와 같이 유니코드 문자열로 초기화되고 lpszStructType이 X509_UNICODE_NAME 설정된 경우 CERT_UNICODE_IS_RDN_ATTRS_FLAG 설정해야 합니다.

CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 대/소문자를 구분하지 않는 일치를 수행하도록 설정됩니다. 그렇지 않으면 대/소문자를 구분하는 정확한 일치가 수행됩니다.

[in] pCertName

인코딩된 주체 또는 발급자 이름을 포함하는 CRYPT_INTEGER_BLOB 대한 포인터입니다.

[in] pRDN

이름에서 찾을 특성을 포함하는 CERT_RDN 구조체의 배열입니다. CERT_RDN 구조체의 CERT_RDN_ATTR 멤버는 다음 규칙에 따라 동작합니다.

  • pszObjIdNULL이면 OID(특성 개체 식별자)가 무시됩니다.
  • dwValueType이 CERT_RDN_ANY_TYPE 경우 값 형식은 무시됩니다.
  • ValuepbData 멤버가 NULL이면 모든 값이 일치할 수 있습니다.

반환 값

함수가 성공하고 지정된 CERT_RDN 모든 RDN 값이 인증서 이름에 있는 경우 반환 값은 0이 아닌 값(TRUE)입니다.

함수가 실패하거나 지정된 CERT_RDN 인증서 이름에 없는 RDN 값이 있는 경우 반환 값은 0(FALSE)입니다. 확장된 오류 정보는 GetLastError를 호출합니다.

다음 표에는 몇 가지 가능한 오류 코드가 나와 있습니다.

반환 코드 설명
CRYPT_E_NO_MATCH
모든 특성이 발견되고 일치하는 것은 아닙니다.
ERROR_FILE_NOT_FOUND
인증서 인코딩 유형이 잘못되었습니다. 현재는 X509_ASN_ENCODING만 지원됩니다.
 

함수가 실패하면 GetLastError 는 ASN.1( 추상 구문 표기법 1) 인코딩/디코딩 오류를 반환할 수 있습니다. 이러한 오류에 대한 자세한 내용은 ASN.1 반환 값 인코딩/디코딩을 참조하세요.

설명

현재는 대/소문자를 구분하는 정확한 일치만 지원됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CertFindCertificateInStore

데이터 관리 함수