다음을 통해 공유


CertGetCertificateContextProperty 함수(wincrypt.h)

CertGetCertificateContextProperty 함수는 인증서 컨텍스트확장 속성에 포함된 정보를 검색합니다.

통사론

BOOL CertGetCertificateContextProperty(
  [in]      PCCERT_CONTEXT pCertContext,
  [in]      DWORD          dwPropId,
  [out]     void           *pvData,
  [in, out] DWORD          *pcbData
);

매개 변수

[in] pCertContext

검색할 속성을 포함하는 인증서CERT_CONTEXT 구조에 대한 포인터입니다.

[in] dwPropId

검색할 속성입니다. pvData 반환할 현재 정의된 식별자 및 데이터 형식은 다음 표에 나와 있습니다.

CERT_ACCESS_STATE_PROP_ID

pvData데이터 형식: DWORD 값에 대한 포인터입니다.

인증서에 대한 쓰기 작업이 지속되는지 여부를 나타내는 DWORD 값을 반환합니다. 인증서가 메모리 저장소에 있거나 읽기 전용으로 열려 있는 레지스트리 기반 저장소에 있는 경우 DWORD 값이 설정되지 않습니다.

CERT_AIA_URL_RETRIEVED_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_ARCHIVED_KEY_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 컨텍스트에 대해 이전에 저장된 암호화된 키 해시 반환합니다.

CERT_ARCHIVED_PROP_ID

pvData데이터 형식: NULL. CertGetCertificateContextProperty 함수가 true를 반환하면 지정된 속성 ID가 CERT_CONTEXT존재합니다.

열거 중에 인증서를 건너뛰었다는 것을 나타냅니다. 이 속성이 설정된 인증서는 특정 해시 또는 일련 번호가 있는 인증서를 찾는 데 사용되는 것과 같은 명시적 검색 작업을 통해 찾을 수 있습니다. pvData 데이터가 이 속성과 연결되어 있지 않습니다.

CERT_AUTHORITY_INFO_ACCESS_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_AUTO_ENROLL_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서가 자동으로 등록된 인증서 형식의 이름을 지정하는 null로 끝나는 유니코드 문자열을 반환합니다.

CERT_AUTO_ENROLL_RETRY_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_BACKED_UP_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_CA_DISABLE_CRL_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

CA(인증 기관)에서 사용하는 인증서에 대해 CRL(인증서 해지 목록) 검색을 사용하지 않도록 설정합니다. CA 인증서에 이 속성이 포함된 경우 CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID 속성도 포함해야 합니다.

CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

CA 인증서에서 발급한 인증서에 사용할 OCSP(온라인 인증서 상태 프로토콜) URL 목록을 포함합니다. 배열 내용은 pszAccessMethodszOID_PKIX_OCSP설정되는 X509_AUTHORITY_INFO_ACCESS 구조체의 ASN.1(Abstract Syntax Notation One)으로 인코딩된 바이트입니다.

CERT_CROSS_CERT_DIST_POINTS_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

교차 인증서의 위치입니다. 현재 이 식별자는 인증서에만 적용되며 CRL 또는 인증서 신뢰 목록(CTL)에는 적용되지 않습니다.

BYTE 배열에는 lpszStuctType 매개 변수에 대한 X509_CROSS_CERT_DIST_POINTS 값과 함께 CryptDecodeObject 함수를 사용하여 디코딩된 ASN.1로 인코딩된 CROSS_CERT_DIST_POINTS_INFO 구조체가 포함되어 있습니다.

CERT_CTL_USAGE_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

ASN.1로 인코딩된 CTL_USAGE 구조체를 포함하는 바이트 배열을 반환합니다.

CERT_DATE_STAMP_PROP_ID

pvData데이터 형식: FILETIME 구조체에 대한 포인터입니다.

인증서가 저장소에 추가된 시간입니다.

CERT_DESCRIPTION_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 UI에 표시되는 속성을 반환합니다. 이 속성을 사용하면 사용자가 인증서의 사용을 설명할 수 있습니다.

CERT_EFS_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_ENHKEY_USAGE_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

ASN.1로 인코딩된 CERT_ENHKEY_USAGE 구조체를 포함하는 바이트 배열을 반환합니다. 이 구조에는 인증서의 유효한 사용을 지정하는 향상된 키 사용 개체 식별자(OID)의 배열이 포함되어 있습니다.

CERT_ENROLLMENT_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

RequestID, CADNSName, CAName 및 DisplayName을 포함하는 보류 중인 요청의 등록 정보입니다. 데이터 형식은 다음과 같이 정의됩니다.

바이트 목차
처음 4바이트 보류 중인 요청 ID
다음 4바이트 종료 null 문자를 포함한 문자의 CADNSName 크기, 종료 null 문자가 있는 CADNSName 문자열
다음 4바이트 종료 null 문자를 포함한 문자의 CAName 크기, 종료 null 문자가 있는 CAName 문자열
다음 4바이트 종료 null 문자를 포함한 문자의 DisplayName 크기, 종료 null 문자가 있는 DisplayName 문자열

CERT_EXTENDED_ERROR_INFO_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 컨텍스트에 대한 확장 오류 정보를 포함하는 null로 끝나는 유니코드 문자열을 반환합니다.

CERT_FORTEZZA_DATA_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_FRIENDLY_NAME_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서의 표시 이름을 포함하는 null로 끝나는 유니코드 문자열을 반환합니다.

CERT_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

SHA1 해시를 반환합니다. 해시가 없으면 CryptHashCertificate 함수를 사용하여 계산됩니다.

CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID

pvData데이터 형식: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE 데이터 형식에 대한 포인터입니다.

HCRYPTPROV 또는 NCRYPT_KEY_HANDLE 선택 항목을 반환합니다.

CERT_HCRYPTPROV_TRANSFER_PROP_ID

인증서와 연결된 CAPI(Cryptography API) 키 핸들을 반환합니다. 호출자는 핸들을 해제할 책임이 있습니다. 컨텍스트가 해제되면 해제되지 않습니다. 속성 값이 반환된 후 제거됩니다. CNG 키가 있는 컨텍스트에서 이 속성을 호출하면 CRYPT_E_NOT_FOUND 반환됩니다.

CERT_IE30_RESERVED_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

이 인증서에 서명하는 데 사용되는 프라이빗 키 연결된 공개 키 MD5 해시입니다.

CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

이 인증서의 발급자 이름 및 일련 번호의 MD5 해시입니다.

CERT_KEY_CONTEXT_PROP_ID

pvData데이터 형식: CERT_KEY_CONTEXT 구조체에 대한 포인터입니다.

CERT_KEY_CONTEXT 구조를 반환합니다.

CERT_KEY_IDENTIFIER_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

존재하지 않는 경우 szOID_SUBJECT_KEY_IDENTIFIER 확장을 검색합니다. 실패하면 인증서의 SubjectPublicKeyInfo 멤버에서 SHA1 해시가 수행되어 식별자 값을 생성합니다.

CERT_KEY_PROV_HANDLE_PROP_ID

pvData데이터 형식: HCRYPTPROV 값에 대한 포인터입니다.

CERT_KEY_CONTEXT_PROP_ID 가져온 공급자 핸들을 반환합니다.

CERT_KEY_PROV_INFO_PROP_ID

pvData데이터 형식: CRYPT_KEY_PROV_INFO 구조체에 대한 포인터입니다.

CRYPT_KEY_PROV_INFO 구조체에 대한 포인터를 반환합니다.

CERT_KEY_SPEC_PROP_ID

pvData데이터 형식: DWORD 값에 대한 포인터입니다.

CERT_KEY_CONTEXT_PROP_ID 가져온 프라이빗 키가 있으면 지정하는 DWORD 값을 반환합니다. 그렇지 않으면 CERT_KEY_PROV_INFO_PROP_ID 있는 경우 dwKeySpec소스입니다.

CERT_MD5_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

MD5 해시를 반환합니다. 해시가 없으면 CryptHashCertificate 함수를 사용하여 계산됩니다.

CERT_NCRYPT_KEY_HANDLE_PROP_ID

pvData데이터 형식: NCRYPT_KEY_HANDLE 데이터 형식에 대한 포인터입니다.

해당하는 경우 CERT_NCRYPT_KEY_SPEC 선택 항목을 반환합니다.

CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID

인증서와 연결된 CNG 키 핸들을 반환합니다. 호출자는 핸들을 해제할 책임이 있습니다. 컨텍스트가 해제되면 해제되지 않습니다. 속성 값이 반환된 후 제거됩니다. CAPI(레거시) 키가 있는 컨텍스트에서 이 속성을 호출하면 CRYPT_E_NOT_FOUND 반환됩니다.

CERT_NEW_KEY_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_NEXT_UPDATE_LOCATION_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

ASN.1로 인코딩된 CERT_ALT_NAME_INFO 구조를 반환합니다.

CERT_NEXT_UPDATE_LOCATION_PROP_ID 현재 CTL에서만 사용됩니다.

CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_OCSP_CACHE_PREFIX_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_OCSP_RESPONSE_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

이 인증서에 대한 인코딩된 OCSP 응답을 반환합니다.

CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID

pvData데이터 형식: null로 끝나는 유니코드 문자열에 대한 포인터입니다.

인증서의 공개 키 알고리즘 및 비트 길이를 나타내는 L"<PUBKEY><BITLENGTH>" 문자열을 반환합니다. 지원되는 <PUBKEY> 알고리즘은 다음과 같습니다.

  • L"RSA"(BCRYPT_RSA_ALGORITHM)
  • L"DSA"(BCRYPT_DSA_ALGORITHM)
  • L"ECDSA"(SSL_ECDSA_ALGORITHM)

Windows 8 및 Windows Server 2012: 이 속성에 대한 지원이 시작됩니다.

CERT_PUBKEY_ALG_PARA_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

알고리즘 매개 변수 상속을 지원하는 퍼블릭 키의 경우 ASN.1로 인코딩된 PublicKey 알고리즘 매개 변수를 반환합니다. DSS(Digital Signature Standard)의 경우 CryptEncodeObject 함수를 사용하여 인코딩된 매개 변수를 반환합니다. 이 속성은 CMS_PKCS7 정의된 경우에만 사용됩니다.

CERT_PUBKEY_HASH_RESERVED_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_PVK_FILE_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서의 공개 키와 연결된 프라이빗 키가 포함된 파일 이름을 포함하는 null로 끝나는 유니코드 와이드 문자열을 반환합니다.

CERT_RENEWAL_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

갱신된 인증서의 해시를 반환합니다.

CERT_REQUEST_ORIGINATOR_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 컨텍스트 요청의 원본에 대한 DNS 컴퓨터 이름을 포함하는 null로 끝나는 유니코드 문자열을 반환합니다.

CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

컨텍스트에 대한 루트 인증서의 애플리케이션 정책을 포함하는 인코딩된 CERT_POLICIES_INFO 구조체에 대한 포인터를 반환합니다. 이 속성은 lpszStructType 매개 변수가 X509_CERT_POLICIES 설정된 CryptDecodeObject 함수를 사용하고 dwCertEncodingType 매개 변수를 X509_ASN_ENCODING 비트 ORPKCS_7_ASN_ENCODING조합으로 설정하여 디코딩할 수 있습니다.

CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_SHA1_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

SHA1 해시를 반환합니다. 해시가 없으면 CryptHashCertificate 함수를 사용하여 계산됩니다.

CERT_SHA1_SHA256_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 52바이트, SHA1 해시의 경우 20바이트, SHA256 해시의 경우 32바이트입니다.

SHA1 해시와 SHA256 해시의 조합을 반환합니다. 해시가 없으면 CryptHashCertificate 함수를 사용하여 계산됩니다.

CERT_SHA256_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

SHA256 해시를 반환합니다. 해시가 없으면 CryptHashCertificate 함수를 사용하여 계산됩니다.

CERT_SIGN_HASH_CNG_ALG_PROP_ID

pvData데이터 형식: null로 끝나는 유니코드 문자열에 대한 포인터입니다.

인증서 서명을 나타내는 L"<SIGNATURE>/<HASH>" 문자열을 반환합니다. <SIGNATURE> 값은 CNG 공개 키 알고리즘을 식별합니다. 지원되는 알고리즘은 다음과 같습니다.

  • L"RSA"(BCRYPT_RSA_ALGORITHM)
  • L"DSA"(BCRYPT_DSA_ALGORITHM)
  • L"ECDSA"(SSL_ECDSA_ALGORITHM)

<HASH> 값은 CNG 해시 알고리즘을 식별합니다. 지원되는 알고리즘은 다음과 같습니다.

  • L"MD5"(BCRYPT_MD5_ALGORITHM)
  • L"SHA1"(BCRYPT_SHA1_ALGORITHM)
  • L"SHA256"(BCRYPT_SHA256_ALGORITHM)
  • L"SHA384"(BCRYPT_SHA384_ALGORITHM)
  • L"SHA512"(BCRYPT_SHA512_ALGORITHM)

다음은 일반적인 예입니다.

  • L"RSA/SHA1"
  • L"RSA/SHA256"
  • L"ECDSA/SHA256"

Windows 7 및 Windows Server 2008 R2: 이 속성에 대한 지원이 시작됩니다.

CERT_SIGNATURE_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

서명 해시를 반환합니다. 해시가 없으면 CryptHashToBeSigned 함수를 사용하여 계산됩니다. 해시의 길이는 SHA의 경우 20바이트, MD5의 경우 16바이트입니다.

CERT_SMART_CARD_DATA_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인코딩된 스마트 카드 데이터에 대한 포인터를 반환합니다. CertGetCertificateContextProperty호출하기 전에 이 상수를 사용하여 pvFindPara 매개 변수가 CERT_SMART_CARD_DATA_PROP_ID 설정된 CertFindCertificateInStore 함수를 사용하고 dwFindType 매개 변수를 CERT_FIND_PROPERTY설정하여 스마트 카드 인증서를 검색할 수 있습니다.

CERT_SMART_CARD_ROOT_INFO_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인코딩된 CRYPT_SMART_CARD_ROOT_INFO 구조체에 대한 포인터를 반환합니다.

CERT_SOURCE_LOCATION_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_SOURCE_URL_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_SUBJECT_DISABLE_CRL_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_SUBJECT_INFO_ACCESS_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 컨텍스트의 주체 정보 액세스 확장을 인코딩된 CERT_SUBJECT_INFO_ACCESS 구조로 반환합니다.

CERT_SUBJECT_NAME_MD5_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

인증서 컨텍스트의 인코딩된 주체 이름의 MD5 해시를 반환합니다.

CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID

이 식별자는 예약되어 있습니다.

CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID

pvData데이터 형식: DWORD 값에 대한 포인터입니다.

인증서의 공개 키 길이(비트)를 반환합니다.

Windows 8 및 Windows Server 2012: 이 속성에 대한 지원이 시작됩니다.

CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID

pvData데이터 형식: BYTE 값 배열에 대한 포인터입니다. 이 배열의 크기는 pcbData 매개 변수에 지정됩니다.

이 인증서 공개 키의 MD5 해시를 반환합니다.

모든 사용자 정의 속성 식별자의 경우 pvDataBYTE 값 배열을 가리킵니다.

각 속성 식별자에 대한 자세한 내용은 CertSetCertificateContextPropertydwPropId 매개 변수에 대한 설명서를 참조하세요.

[out] pvData

dwPropId의해 결정된 대로 데이터를 수신하는 버퍼에 대한 포인터입니다. 반환된 구조체의 멤버가 가리키는 구조체도 기본 구조 다음에 반환됩니다. 따라서 pcbData 포함된 크기는 종종 기본 구조의 크기를 초과합니다.

이 매개 변수는 NULL 메모리 할당을 위해 정보의 크기를 설정할 수 있습니다. 자세한 내용은 알 수 없는 길이데이터 검색을 참조하세요.

[in, out] pcbData

pvData 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 DWORD 값에 대한 포인터입니다. 함수가 반환될 때 DWORD 값에는 버퍼에 저장할 바이트 수가 포함됩니다.

런타임에 필요한 버퍼 크기를 가져오려면 pvData 매개 변수에 대한 NULL 전달하고 이 매개 변수가 가리키는 값을 0으로 설정합니다. pvData 매개 변수가 NULL 않고 pcbData 지정된 크기가 데이터를 포함하는 데 필요한 바이트 수보다 작으면 함수가 실패하고 GetLastError ERROR_MORE_DATA반환하고 필요한 크기는 pcbData 매개 변수가 가리키는 변수에 배치됩니다.

메모

버퍼에서 반환된 데이터를 처리할 때 애플리케이션은 반환되는 데이터의 실제 크기를 사용해야 합니다. 실제 크기는 입력에 지정된 버퍼의 크기보다 약간 작을 수 있습니다. (입력에서 버퍼 크기는 일반적으로 가능한 가장 큰 출력 데이터가 버퍼에 맞도록 충분히 크게 지정됩니다.) 출력에서 이 매개 변수가 가리키는 변수는 버퍼에 복사된 데이터의 실제 크기를 반영하도록 업데이트됩니다.

반환 값

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

함수가 실패하면 false반환합니다. 확장 오류 정보는 GetLastError호출합니다.

몇 가지 가능한 오류 코드는 다음과 같습니다.

반환 코드 묘사
CRYPT_E_NOT_FOUND 인증서에 지정된 속성이 없습니다.
ERROR_MORE_DATA pvData 매개 변수로 지정된 버퍼가 반환된 데이터를 저장할 만큼 충분히 크지 않은 경우 함수는 ERROR_MORE_DATA 코드를 설정하고 필요한 버퍼 크기를 pcbData가리키는 변수에 바이트 단위로 저장합니다.

호출된 함수 CryptHashCertificate 오류가 이 함수로 전파될 수 있습니다.

발언

속성은 인증서 내에 저장되지 않습니다. 일반적으로 인증서 응답을 받은 다음 저장소의 인증서와 함께 저장한 후 인증서와 연결됩니다. 보안상의 이유로 속성 값을 저장하기 전에 유효성을 검사하고 사용자 저장소에 CERT_FRIENDLY_NAME_PROP_ID 값과 같은 정보 속성만 저장하는 것이 좋습니다. 다른 모든 속성 형식은 로컬 컴퓨터 저장소에 저장해야 합니다.

코드는 매크로를 사용하여 인증서 컨텍스트에 대한 해시 클래스를 평가할 수 있습니다. 자세한 내용은 CertSetCertificateContextProperty참조하세요.

예제

이 함수를 사용하는 예제는 예제 C 프로그램: 인증서 속성 가져오기 및 설정 및 C 프로그램 예제: Store인증서 나열을 참조하세요.

요구 사항

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

참고 항목

CERT_KEY_CONTEXT

CertCreateCertificateContext

CertSetCertificateContextProperty

CryptHashCertificate

CryptHashToBeSigned

확장 속성 함수