다음을 통해 공유


암호화 구조

다음 구조체는 암호화 함수에서 사용됩니다. 암호화 구조는 다음과 같이 사용량에 따라 분류됩니다.

CryptXML 구조체

다음 구조체는 CryptXML 함수에서 사용됩니다.

구조체 설명
CRYPT_XML_ALGORITHM 메시지에 서명하거나 변환하는 데 사용되는 알고리즘을 지정합니다.
CRYPT_XML_ALGORITHM_INFO 알고리즘 정보를 포함합니다.
CRYPT_XML_BLOB 임의의 바이트 배열을 포함합니다.
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE 구현된 CryptXML 함수를 노출하기 위해 CryptXmlDllGetInterface 함수 포인터에 전달됩니다.
CRYPT_XML_DATA_BLOB XML로 인코딩된 데이터를 포함합니다.
CRYPT_XML_DATA_PROVIDER XML 데이터 공급자에 대한 인터페이스를 지정합니다.
CRYPT_XML_DOC_CTXT 문서 컨텍스트 정보를 정의합니다.
CRYPT_XML_ISSUER_SERIAL X.509에서 발급된 고유 이름-일련 번호 쌍을 포함합니다.
CRYPT_XML_KEY_DSA_KEY_VALUE DSA( 디지털 서명 알고리즘 ) 키 값을 정의합니다. CRYPT_XML_KEY_DSA_KEY_VALUE 구조체는 CRYPT_XML_KEY_VALUE 구조체에서 키 값 공용 구조체의 요소로 사용됩니다.
CRYPT_XML_KEY_ECDSA_KEY_VALUE ECDSA(타원 곡선 디지털 서명 알고리즘) 키 값을 정의합니다. CRYPT_XML_KEY_ECDSA_KEY_VALUE 구조체는 CRYPT_XML_KEY_VALUE 구조체에서 키 값 공용 구조체의 요소로 사용됩니다.
CRYPT_XML_KEY_INFO 주요 정보 데이터를 캡슐화합니다.
CRYPT_XML_KEY_INFO_ITEM KeyInfo 요소에 해당하는 키 정보 데이터를 캡슐화합니다. KeyInfo 요소를 사용하면 받는 사람이 서명의 유효성을 검사하는 데 필요한 키를 가져올 수 있습니다.
CRYPT_XML_KEY_RSA_KEY_VALUE RSA 키 값을 정의합니다. CRYPT_XML_KEY_RSA_KEY_VALUE 구조체는 CRYPT_XML_KEY_VALUE 구조체에서 키 값 공용 구조체의 요소로 사용됩니다.
CRYPT_XML_KEY_VALUE 서명의 유효성을 검사하는 데 유용할 수 있는 단일 공개 키를 포함합니다.
CRYPT_XML_KEYINFO_PARAM CryptXmlSign 함수에서 인코딩할 KeyInfo 요소의 멤버를 지정하는 데 사용됩니다.
CRYPT_XML_OBJECT 서명의 Object 요소에 대해 설명합니다.
CRYPT_XML_PROPERTY CryptXML 속성에 대한 정보를 포함합니다.
CRYPT_XML_REFERENCE Reference 요소를 채우는 데 사용되는 정보를 포함합니다.
CRYPT_XML_REFERENCES CRYPT_XML_REFERENCE 구조체의 배열을 정의합니다.
CRYPT_XML_SIGNATURE Signature 요소를 채우는 데 사용되는 정보를 포함합니다.
CRYPT_XML_SIGNED_INFO 서명 유효성 검사 상태 대한 정보, SignedInfo 요소에 대한 요약 상태 정보 또는 Reference 요소 배열에 대한 요약 상태 정보를 반환합니다.
CRYPT_XML_TRANSFORM_CHAIN_CONFIG XML 디지털 서명에서 사용할 수 있는 애플리케이션 정의 변환을 정의합니다.
CRYPT_XML_TRANSFORM_INFO 데이터 변환을 적용할 때 사용되는 정보를 포함합니다.
CRYPT_XML_X509DATA X509Data 요소의 선택 시퀀스를 나타냅니다.
CRYPT_XML_X509DATA_ITEM X509Data 명명된 요소에서 인코딩할 X.509 데이터를 나타냅니다.

 

일반 암호화 구조

다음 구조체는 기본 암호화 함수에서 사용됩니다.

구조체 설명
CMS_DH_KEY_INFO Diffie-Hellman 키 정보를 포함하기 위해 CryptSetKeyParam 함수의 KP_CMS_DH_KEY_INFO 매개 변수와 함께 사용됩니다.
CMS_KEY_INFO 이 구조체는 사용되지 않습니다.
CRYPT_AES_128_KEY_STATE AES(Advanced Encryption Standard) 암호화에 대한 128비트 대칭 키 정보를 지정합니다.
CRYPT_AES_256_KEY_STATE AES 암호에 대한 256비트 대칭 키 정보를 지정합니다.
CRYPT_ALGORITHM_IDENTIFIER 알고리즘의 OID( 개체 식별자 ) 및 해당 알고리즘에 필요한 매개 변수를 포함합니다.
CRYPT_ATTRIBUTE 하나 이상의 값이 있는 특성을 지정합니다.
CRYPT_ATTRIBUTE_TYPE_VALUE 단일 특성 값을 포함합니다.
CRYPT_ATTRIBUTES 특성 배열을 포함합니다.
CRYPT_BIT_BLOB 바이트 배열을 포함합니다.
CRYPT_BLOB_ARRAY CRYPT_DATA_BLOB 구조체의 배열을 포함합니다.
CRYPT_CONTENT_INFO PKCS #7 ContentInfo 데이터 형식으로 인코딩된 데이터를 포함합니다.
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY 인증서의 Netscape 인증서 시퀀스를 나타내는 정보를 포함합니다.
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA CryptInstallDefaultContext 함수와 함께 개체 식별자 문자열의 배열을 포함하는 데 사용됩니다.
CRYPT_ECC_CMS_SHARED_INFO CMS(암호화 메시지 구문) EnvelopedData 콘텐츠 형식에서 ECC(타원 곡선 암호화)를 사용할 때 키 암호화 키 정보를 나타냅니다.
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 암호화된 PKCS #8 프라이빗 키의 정보를 포함합니다.
CRYPT_ENROLLMENT_NAME_VALUE_PAIR 이 구조는 사용자를 대신하여 인증서 요청을 만드는 데 사용됩니다.
CRYPT_INTEGER_BLOB 형식에 적합한 이름 아래에 다양한 종류의 이진 큰 개체의 데이터를 포함합니다.
CRYPT_KEY_LIMITS 구현되지 않은 CryptGetLocalKeyLimits 함수를 지원하며 사용되지 않습니다. 이후 버전의 Wincrypt.h에서 제거됩니다.
CRYPT_KEY_PROV_INFO CSP(특정 암호화 서비스 공급자) 내의 특정 키 컨테이너에 대한 핸들을 획득하거나 키 컨테이너를 만들거나 삭제하기 위해 CryptAcquireContext에 인수로 전달되는 필드를 포함합니다.
CRYPT_KEY_PROV_PARAM CryptSetProvParam에 대한 인수로 전달할 데이터를 포함합니다.
CRYPT_KEY_SIGN_MESSAGE_PARA 메시지에 서명하는 데 사용되는 CSP 및 알고리즘에 대한 정보를 포함합니다.
CRYPT_KEY_VERIFY_MESSAGE_PARA 서명자에 대한 인증서 없이 서명된 메시지를 확인하는 데 필요한 정보를 포함합니다.
CRYPT_MASK_GEN_ALGORITHM RSA PKCS #1 v2.1 서명 마스크를 생성하는 데 사용되는 알고리즘을 식별합니다.
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE 개체 위치 공급자가 구현한 함수에 대한 포인터를 포함합니다.
CRYPT_PKCS8_EXPORT_PARAMS 프라이빗 키 및 콜백 함수에 대한 포인터를 식별하는 정보를 포함합니다.
CRYPT_PKCS8_IMPORT_PARAMS PKCS #8 프라이빗 키와 콜백 함수에 대한 두 개의 포인터를 포함합니다.
CRYPT_PKCS12_PBE_PARAMS PKCS #12 암호 기반 암호화 알고리즘에 대한 암호화 키, IV(초기화 벡터) 또는 MAC(메시지 인증 코드) 키를 만드는 데 사용되는 매개 변수를 포함합니다.
CRYPT_PRIVATE_KEY_INFO PKCS #8 프라이빗 키의 정보를 포함합니다.
CRYPT_PSOURCE_ALGORITHM 알고리즘을 식별하고(선택적으로) RSAES-OAEP 키 암호화에 대한 레이블 값을 식별합니다.
CRYPT_RETRIEVE_AUX_INFO CryptRetrieveObjectByUrl 함수에 전달할 선택적 시간 동기화 정보를 포함합니다.
CRYPT_RSA_SSA_PSS_PARAMETERS RSA PKCS #1 v2.1 서명에 대한 매개 변수를 포함합니다.
CRYPT_RSAES_OAEP_PARAMETERS RSAES-OAEP 키 암호화에 대한 매개 변수를 포함합니다.
CRYPT_SEQUENCE_OF_ANY 인코딩된 BLOB의 임의 목록을 포함합니다.
CRYPT_SMART_CARD_ROOT_INFO 인증서 컨텍스트와 연결된 스마트 카드 및 세션 ID를 포함합니다.
CRYPT_TIME_STAMP_REQUEST_INFO 이 구조체는 타임스탬핑에 사용됩니다.
CRYPT_URL_INFO URL 그룹화에 대한 정보를 포함합니다.
CRYPT_X942_OTHER_INFO 추가 키 생성 정보를 포함합니다.
CRYPTNET_URL_CACHE_FLUSH_INFO CUC(Cryptnet URL Cache) 서비스에서 URL 캐시 항목을 유지하기 위해 사용하는 만료 정보를 포함합니다.
CRYPTNET_URL_CACHE_PRE_FETCH_INFO CUC(Cryptnet URL Cache) 서비스에서 URL 캐시 항목을 유지하기 위해 사용하는 업데이트 정보를 포함합니다.
CRYPTNET_URL_CACHE_RESPONSE_INFO CUC(Cryptnet URL Cache) 서비스에서 URL 캐시 항목을 유지하기 위해 사용하는 응답 정보를 포함합니다.
CRYPT_INTEGER_BLOB 이 구조체는 임의의 바이트 배열에 사용됩니다.
CRYPTPROTECT_PROMPTSTRUCT CryptProtectData 및 CryptUnprotectData 함수를 사용할 때 해당 프롬프트가 표시되는 시기와 위치에 대한 프롬프트 텍스트와 정보를 제공합니다.
CRYPTUI_INITDIALOG_STRUCT CRYPTUI_VIEWCERTIFICATE_STRUCT 구조를 지원합니다.
CRYPTUI_SELECTCERTIFICATE_STRUCT CryptUIDlgSelectCertificate 함수에 의해 표시되는 대화 상자에 대한 정보를 포함합니다.
CRYPTUI_VIEWCERTIFICATE_STRUCT 볼 인증서에 대한 정보를 포함합니다. CryptUIDlgViewCertificate 함수에 사용됩니다.
CRYPTUI_VIEWSIGNERINFO_STRUCT CryptUIDlgViewSignerInfo 함수에 대한 정보를 포함합니다.
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO 인증서가 내보내는 개체일 때 CryptUIWizExport 함수의 작업을 제어하는 정보를 포함합니다.
CRYPTUI_WIZ_EXPORT_INFO CryptUIWizExport 함수의 작업을 제어하는 정보를 포함합니다.
CRYPTUI_WIZ_IMPORT_SRC_INFO CryptUIWizImport 함수로 가져올 주체를 포함합니다.
DHPRIVKEY_VER3 키 BLOB에 포함된 특정 프라이빗 키와 관련된 정보를 포함합니다.
DHPUBKEY 키 BLOB에 포함된 특정 Diffie-Hellman 공개 키와 관련된 정보를 포함합니다.
DHPUBKEY_VER3 키 BLOB에 포함된 특정 공개 키와 관련된 정보를 포함합니다.
Diffie-Hellman 버전 3 프라이빗 키 BLOB DH 프라이빗 키에 대한 정보를 내보내고 가져오는 데 사용됩니다.
Diffie-Hellman 버전 3 공개 키 BLOB DH 공개 키에 대한 정보를 내보내고 가져오는 데 사용됩니다.
DSS 버전 3 프라이빗 키 BLOB DH 프라이빗 키에 대한 정보를 내보내고 가져오는 데 사용됩니다.
DSS 버전 3 공개 키 BLOB DH 공개 키에 대한 정보를 내보내고 가져오는 데 사용됩니다.
DSSPRIVKEY_VER3 키 BLOB에 포함된 특정 프라이빗 키와 관련된 정보를 포함합니다.
DSSPUBKEY 키 BLOB에 포함된 특정 공개 키와 관련된 정보를 포함합니다.
DSSPUBKEY_VER3 키 BLOB에 포함된 특정 공개 키와 관련된 정보를 포함합니다.
DSSSEED DSS 공개 키의 소수를 확인하는 데 사용할 수 있는 시드 및 카운터 값을 보유합니다.
HMAC_INFO 해시 알고리즘 및 HMAC(해시 기반 메시지 인증 코드) 해시를 계산하는 데 사용할 내부 및 외부 문자열을 지정합니다.
KEYSVC_BLOB 키 서비스 BLOB을 정의합니다.
KEYSVC_UNICODE_STRING 키 서비스 유니코드 문자열을 정의합니다.
OCSP_BASIC_RESPONSE_ENTRY 단일 인증서에 대한 현재 인증서 상태 포함합니다.
OCSP_BASIC_RESPONSE_INFO RFC 2560에서 지정한 기본 OCSP 응답을 포함합니다.
OCSP_BASIC_REVOKED_INFO 인증서가 해지된 이유를 포함합니다.
OCSP_BASIC_SIGNED_RESPONSE_INFO 서명이 있는 기본 OCSP 응답을 포함합니다.
OCSP_CERT_ID OCSP 요청 또는 응답에서 인증서를 식별하는 정보를 포함합니다.
OCSP_REQUEST_ENTRY OCSP 요청의 단일 인증서에 대한 정보를 포함합니다.
OCSP_REQUEST_INFO RFC 2560에서 지정한 OCSP 요청에 대한 정보를 포함합니다.
OCSP_RESPONSE_INFO 해당 OCSP 요청의 성공 또는 실패를 나타냅니다. 성공적인 요청의 경우 응답 정보의 형식과 값을 포함합니다.
OCSP_SIGNATURE_INFO OCSP 요청 또는 응답에 대한 서명을 포함합니다.
OCSP_SIGNED_REQUEST_INFO 선택적 서명 정보가 있는 OCSP 요청에 대한 정보를 포함합니다.
PROV_ENUMALGS CryptGetProvParam 또는 CPGetProvParam 호출에 의해 반환됩니다.
PROV_ENUMALGS_EX CryptGetProvParam 또는 CPGetProvParam 호출에 의해 반환됩니다.
PUBLICKEYSTRUC 키의 BLOB 형식 및 키가 사용하는 알고리즘을 나타냅니다.
ROOT_INFO_LUID 암호화 스마트 카드 루트 정보에 대한 LUID( 로컬 고유 식별자 )를 포함합니다.
RSAPUBKEY 키 BLOB에 포함된 특정 공개 키와 관련된 정보를 포함합니다.
SCHANNEL_ALG 알고리즘 및 키 크기 정보를 포함합니다.
SIGNER_ATTR_AUTHCODE Authenticode 서명의 특성을 지정합니다.
SIGNER_BLOB_INFO 서명할 BLOB 을 지정합니다.
SIGNER_CERT 문서에 서명하는 데 사용되는 인증서를 지정합니다. 인증서는 SPC( 소프트웨어 게시자 인증서 ) 파일 또는 인증서 저장소에 저장할 수 있습니다.
SIGNER_CERT_STORE_INFO 문서에 서명하는 데 사용되는 인증서 저장소를 지정합니다.
SIGNER_CONTEXT 서명된 BLOB을 포함합니다.
SIGNER_FILE_INFO 서명할 파일을 지정합니다.
SIGNER_PROVIDER_INFO 디지털 서명을 만드는 데 사용되는 CSP 및 개인 키 정보를 지정합니다.
SIGNER_SIGNATURE_INFO 디지털 서명에 대한 정보를 포함합니다.
SIGNER_SPC_CHAIN_INFO 문서에 서명하는 데 사용되는 SPC( 소프트웨어 게시자 인증서 ) 및 인증서 체인을 지정합니다.
SIGNER_SUBJECT_INFO 서명할 제목을 지정합니다.

 

일반 인증서 구조

다음 구조는 많은 인증서 함수에서 사용됩니다.

구조체 설명
CERT_BIOMETRIC_DATA 생체 인식 데이터에 대한 정보를 포함합니다.
CERT_BIOMETRIC_EXT_INFO 생체 인식 정보 집합을 포함합니다.
CERT_CONTEXT 인증서의 인코딩된 표현과 디코딩된 표현을 모두 포함합니다.
CERT_CRL_CONTEXT_PAIR 인증서 컨텍스트 및 연결된 CRL 컨텍스트를 포함합니다.
CERT_DH_PARAMETERS Diffie-Hellman 공개 키 알고리즘과 연결된 매개 변수를 포함합니다.
CERT_DSS_PARAMETERS DSS 공개 키 알고리즘과 연결된 매개 변수를 포함합니다.
CERT_ECC_SIGNATURE ECDSA(타원 곡선 디지털 서명 알고리즘) 서명에 대한 r 및 값을 포함합니다.
CERT_EXTENSION 인증서, CRL(인증서 해지 목록) 또는 CTL(인증서 신뢰 목록)에 대한 확장 정보를 포함합니다.
CERT_EXTENSIONS 확장 배열을 포함합니다.
CERT_GENERAL_SUBTREE CERT_NAME_CONSTRAINTS_INFO 구조에 사용되는 이 구조체는 포함하거나 제외할 수 있는 인증서의 ID를 제공합니다.
CERT_HASHED_URL 해시된 URL을 포함합니다.
CERT_ID 인증서를 고유하게 식별하는 유연한 수단으로 사용됩니다.
CERT_INFO 인증서의 정보를 포함합니다.
CERT_KEY_CONTEXT CERT_KEY_CONTEXT_PROP_ID 속성과 연결된 CERT_EXTENSION 구조체의 Value 멤버에 대한 pvData 멤버에 대한 데이터를 포함합니다.
CERT_KEYGEN_REQUEST_INFO Netscape Keygen 요청에 저장된 정보를 포함합니다.
CERT_LDAP_STORE_OPENED_PARA CERT_STORE_PROV_LDAP 공급자가 CERT_LDAP_STORE_OPENED_FLAG 플래그를 사용하여 쿼리를 수행하는 데 사용할 기존 LDAP 세션과 LDAP 쿼리 문자열을 모두 지정하여 CertOpenStore 함수와 함께 사용됩니다.
CERT_LOGOTYPE_AUDIO 오디오 로고 형식에 대한 정보를 포함합니다.
CERT_LOGOTYPE_AUDIO_INFO 오디오 로고 형식에 대한 자세한 정보를 포함합니다.
CERT_LOGOTYPE_DATA 로고 형식 데이터를 포함합니다.
CERT_LOGOTYPE_DETAILS 로고 유형에 대한 추가 정보를 포함합니다.
CERT_LOGOTYPE_EXT_INFO 로고 형식 정보 집합을 포함합니다.
CERT_LOGOTYPE_IMAGE 이미지 로고 유형에 대한 정보를 포함합니다.
CERT_LOGOTYPE_IMAGE_INFO 이미지 로고 유형에 대한 자세한 정보를 포함합니다.
CERT_LOGOTYPE_INFO 로고 형식 데이터에 대한 정보를 포함합니다.
CERT_LOGOTYPE_REFERENCE 로고 형식 참조 정보를 포함합니다.
CERT_NAME_CONSTRAINTS_INFO 특히 트러스트에서 허용되거나 제외되는 인증서에 대한 정보를 포함합니다.
CERT_NAME_INFO 주체 또는 발급자 이름을 포함합니다. 정보는 CERT_RDN 구조체의 배열로 표시됩니다.
CERT_NAME_VALUE RDN( 상대 고유 이름 ) 특성 값을 포함합니다.
CERT_OTHER_LOGOTYPE_INFO 미리 정의되지 않은 로고 유형에 대한 정보를 포함합니다.
CERT_PAIR 인증서 및 해당 쌍 교차 인증서를 포함합니다.
CERT_PHYSICAL_STORE_INFO 물리적 인증서 저장소에 대한 정보를 포함합니다.
CERT_POLICY_CONSTRAINTS_INFO 인증서를 신뢰할 수 있는 것으로 수락하기 위한 설정된 정책을 포함합니다.
CERT_POLICY_MAPPING 발급자 도메인과 주체 도메인 정책 OID 간의 매핑을 포함합니다.
CERT_POLICY_MAPPINGS_INFO 두 도메인의 정책 OID 간에 매핑을 제공합니다.
CERT_PUBLIC_KEY_INFO 공개 키와 해당 알고리즘을 포함합니다.
CERT_QC_STATEMENT QC(정규화된 인증서) 문 확장에 포함할 하나 이상의 문 시퀀스의 단일 문을 나타냅니다.
CERT_QC_STATEMENTS_EXT_INFO QC에 대한 정규화된 인증서(QC) 문 확장을 구성하는 하나 이상의 문 시퀀스를 포함합니다.
CERT_RDN CERT_RDN_ATTR 구조의 배열로 구성된 RDN(상대 고유 이름)을 포함합니다.
CERT_RDN_ATTR RDN( 상대 고유 이름 )의 단일 특성을 포함합니다.
CERT_REQUEST_INFO 인증서 요청에 대한 정보를 포함합니다.
CERT_REVOCATION_CRL_INFO CRL 해지 유형 처리기에 의해 업데이트된 정보를 포함합니다.
CERT_REVOCATION_PARA 이 구조체는 필요에 따라 CertVerifyRevocation 에 전달되어 확인할 컨텍스트의 발급자를 찾는 데 도움이 될 수 있습니다.
CERT_REVOCATION_STATUS 인증서의 해지 상태 대한 정보를 포함합니다.
CERT_SELECT_STRUCT 인증서 선택 대화 상자에 표시되는 인증서를 선택할 기준이 포함되어 있습니다. 이 구조체는 CertSelectCertificate 함수에 사용됩니다.
CERT_SIGNED_CONTENT_INFO 서명할 인코딩된 콘텐츠와 서명을 저장할 BLOB 을 포함합니다.
CERT_STORE_PROV_FIND_INFO 이 구조는 많은 저장소 공급자 콜백 함수에서 사용됩니다.
CERT_STORE_PROV_INFO CertOpenStore를 사용하여 저장소를 열 때 설치된 CertDllOpenStoreProv에서 반환된 정보를 포함합니다.
CERT_STRONG_SIGN_PARA 인증서, CRL, OCSP 리포지토리 및 PKCS #7 메시지에 대한 강력한 서명을 검사 데 사용되는 매개 변수를 포함합니다.
CERT_STRONG_SIGN_SERIALIZED_INFO 강력한 서명에 사용할 수 있는 서명 알고리즘/해시 알고리즘공개 키 알고리즘/비트 길이 쌍을 포함합니다.
CERT_SUBJECT_INFO_ACCESS 이는 CERT_AUTHORITY_INFO_ACCESS 구조체의 동의어입니다.
CERT_SYSTEM_STORE_INFO 시스템 저장소에서 작동하는 함수에서 사용하는 정보를 포함합니다.
CERT_SYSTEM_STORE_RELOCATE_PARA 해당 함수의 dwFlags 매개 변수가 CERT_SYSTEM_STORE_RELOCATE_FLAG 설정된 경우 CertOpenStore에 전달할 데이터를 포함합니다.
CERT_TEMPLATE_EXT 이 구조는 인증서 템플릿입니다.
CERT_X942_DH_PARAMETERS Diffie-Hellman 공개 키 알고리즘과 연결된 매개 변수를 포함합니다.
CERT_X942_DH_VALIDATION_PARAMS 이 구조체는 선택적으로 CERT_X942_DH_PARAMETERS 구조체의 멤버가 가리키며 추가 시드 정보를 포함합니다.
CMC_ADD_ATTRIBUTES_INFO 인증서에 추가할 인증서 특성을 포함합니다.
CMC_ADD_EXTENSIONS_INFO 인증서에 추가할 인증서 확장 제어 특성을 포함합니다.
CMC_DATA_INFO 이 구조는 태그가 지정된 다양한 정보를 전달하는 수단을 제공합니다.
CMC_PEND_INFO 이 구조체는 CMC_STATUS_INFO 구조체의 가능한 멤버입니다.
CMC_RESPONSE_INFO 이 구조는 태그가 지정된 다양한 정보를 전달하는 수단을 제공합니다.
CMC_STATUS_INFO CMS를 통해 인증서 관리 메시지에 대한 상태 정보를 포함합니다.
CMC_TAGGED_ATTRIBUTE 이 구조체는 CMC_DATA_INFOCMC_RESPONSE_INFO 구조체에서 사용됩니다.
CMC_TAGGED_CERT_REQUEST 이 구조체는 CMC_TAGGED_REQUEST 구조체에서 사용됩니다.
CMC_TAGGED_CONTENT_INFO 이 구조체는 CMC_DATA_INFOCMC_RESPONSE_INFO 구조체에서 사용됩니다.
CMC_TAGGED_OTHER_MSG 이 구조체는 CMC_DATA_INFOCMC_RESPONSE_INFO 구조체에서 사용됩니다.
CMC_TAGGED_REQUEST 이 구조체는 CMC_DATA_INFO 구조체에서 인증서를 요청하는 데 사용됩니다.
CRL_CONTEXT CRL의 인코딩된 표현과 디코딩된 표현을 모두 포함합니다.
CRL_ENTRY 해지된 단일 인증서에 대한 정보를 포함합니다. CRL_INFO 구조체의 멤버입니다.
CRL_INFO CRL(인증서 해지 목록)의 정보를 포함합니다.
CRL_ISSUING_DIST_POINT CRL에 나열된 인증서 종류에 대한 정보를 포함합니다.
CROSS_CERT_DIST_POINTS_INFO 이 구조는 동적 교차 인증서를 업데이트하는 데 사용되는 정보를 제공합니다.
CTL_ANY_SUBJECT_INFO CTL에서 일치시킬 SubjectAlgorithmCertFindSubjectInCTL 호출의 CTL 항목 중 하나에서 일치시킬 SubjectIdentifier를 포함합니다.
CTL_CONTEXT CTL의 인코딩된 표현과 디코딩된 표현을 모두 포함합니다.
CTL_ENTRY 이 구조는 CTL( 인증서 신뢰 목록 )의 요소입니다.
CTL_FIND_SUBJECT_PARA 인증서 신뢰 목록(CTL)을 찾기 위해 CTL_FIND_SUBJECT dwFindType을 사용하여 CertFindCTLInStore에서 사용하는 데이터를 포함합니다.
CTL_FIND_USAGE_PARA 이 구조체는 CTL_FIND_SUBJECT_PARA 구조체의 멤버이며 CertFindCTLInStore에서 사용됩니다.
CTL_INFO CTL( 인증서 신뢰 목록 )에 저장된 정보를 포함합니다.
CTL_MODIFY_REQUEST 인증서 신뢰 목록을 수정하는 요청을 포함합니다. 이 구조체는 CertModifyCertificatesToTrust 함수에 사용됩니다.
CTL_USAGE CTL( 인증서 신뢰 목록 ) 확장에 대한 OID(개체 식별자) 배열을 포함합니다.
CTL_VERIFY_USAGE_PARA CertVerifyCTLUsage에서 CTL 사용의 유효성을 설정하는 데 사용하는 매개 변수를 포함합니다.
CTL_VERIFY_USAGE_STATUS CertVerifyCTLUsage에서 반환된 CTL(인증서 신뢰 목록)에 대한 정보를 포함합니다.

 

X.509 인증서 확장 구조

다음 구조체는 X.509 CERT_EXTENSION 구조체와 연결됩니다.

구조체 설명
CERT_ACCESS_DESCRIPTION 이 구조체는 CERT_AUTHORITY_INFO_ACCESS 구조체의 멤버입니다.
CERT_ALT_NAME_ENTRY 다양한 이름 양식 중 하나에 대체 이름을 포함합니다.
CERT_ALT_NAME_INFO 주체 또는 발급자 인증서, CRL( 인증서 해지 목록 ) 및 CTL( 인증서 신뢰 목록 )에 대한 확장 인코딩 및 디코딩에 사용됩니다.
CERT_AUTHORITY_INFO_ACCESS 기관 정보 액세스 및 주체 정보 액세스 인증서 확장을 나타내며 해당 인증서의 주체 또는 발급자의 추가 정보 및 서비스에 액세스하는 방법을 지정합니다.
CERT_AUTHORITY_KEY_ID_INFO 인증서 또는 CRL에 서명하는 데 사용되는 키를 식별합니다.
CERT_AUTHORITY_KEY_ID2_INFO 인증서 또는 CRL에 서명하는 데 사용되는 키를 식별합니다. 인증서 발급자를 CERT_NAME_BLOB 아닌 CERT_ALT_NAME_INFO CERT_AUTHORITY_KEY_ID_INFO 구조와 다릅니다.
CERT_BASIC_CONSTRAINTS_INFO 인증된 주체가 CA, 최종 엔터티 또는 둘 다로 작동할 수 있는지 여부를 나타내는 정보가 포함되어 있습니다.
CERT_BASIC_CONSTRAINTS2_INFO 인증된 주체가 CA 또는 최종 엔터티 역할을 할 수 있는지 여부를 나타내는 정보를 포함합니다.
CERT_KEY_ATTRIBUTES_INFO 인증되는 공개 키에 대한 선택적 추가 정보를 포함합니다.
CERT_KEY_USAGE_RESTRICTION_INFO 인증서의 공개 키 사용에 적용되는 제한을 포함합니다.
CERT_POLICIES_INFO CERT_POLICY_INFO 배열을 포함합니다.
CERT_POLICY_ID 인증서가 명시적으로 지원하는 인증서 정책 목록과 이러한 정책과 관련된 선택적 한정자 정보를 포함합니다.
CERT_POLICY_INFO 정책 및 정책 한정자의 선택적 배열을 지정하는 OID(개체 식별자)를 포함합니다.
CERT_POLICY_QUALIFIER_INFO 한정자 및 한정자별 추가 정보를 지정하는 OID(개체 식별자)를 포함합니다.
CERT_PRIVATE_KEY_VALIDITY 인증서의 공개 키에 해당하는 프라이빗 키의 유효한 시간 범위를 나타냅니다.
CRL_DIST_POINT 인증서 사용자가 참조하여 인증서가 해지되었는지 여부를 확인할 수 있는 단일 CRL 배포 지점을 식별합니다.
CRL_DIST_POINT_NAME CRL을 가져올 수 있는 위치를 식별합니다.
CRL_DIST_POINTS_INFO 인증서 사용자가 인증서가 해지되었는지 여부를 확인하기 위해 참조할 수 있는 CRL 배포 지점 목록을 포함합니다.

 

이러한 구조체는 CryptEncodeObjectCryptEncodeObjectEx 함수를 사용하여 CERT_EXTENSION 구조체의 Value 멤버로 인코딩할 수 있습니다. CERT_EXTENSION 구조체의 Value 멤버가 디코딩될 때 CryptDecodeObjectCryptDecodeObjectEx 함수에 의해 만들어지고 반환됩니다.

인코딩되거나 생성된 구조체는 CERT_EXTENSION 구조체의 pszObjId 문자열 멤버에 따라 달라집니다.

현재 확장 미리 정의된 상수와 각 상수와 연결된 구조체의 OID는 다음 표에 나와 있습니다.

참고

미리 정의된 상수(열 1) 및 해당 OID(열 2)를 서로 바꿔 사용할 수 있습니다.

 

미리 정의된 상수 개체 식별자(OID) 데이터 구조
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS CERT_AUTHORITY_INFO_ACCESS
X509_AUTHORITY_KEY_ID szOID_AUTHORITY_KEY_IDENTIFIER CERT_AUTHORITY_KEY_ID_INFO
X509_ALTERNATE_NAME szOID_SUBJECT_ALT_NAME – 또는 –
szOID_ISSUER_ALT_NAME
CERT_ALT_NAME_INFO
X509_BASIC_CONSTRAINTS szOID_BASIC_CONSTRAINTS CERT_BASIC_CONSTRAINTS_INFO
X509_BASIC_CONSTRAINTS2 szOID_BASIC_CONSTRAINTS2 CERT_BASIC_CONSTRAINTS2_INFO
X509_CERT_POLICIES szOID_CERT_POLICIES CERT_POLICIES_INFO
X509_KEY_ATTRIBUTES szOID_KEY_ATTRIBUTES CERT_KEY_ATTRIBUTES_INFO
X509_KEY_USAGE szOID_KEY_USAGE CRYPT_BIT_BLOB
X509_KEY_USAGE_RESTRICTION szOID_KEY_USAGE_RESTRICTION CERT_KEY_USAGE_RESTRICTION_INFO
없음 szOID_POLICY_MAPPINGS 구현되지 않음
없음 szOID_SUBJECT_DIR_ATTRS 구현되지 않음

 

메시지 구조

다음 구조체는 암호화 메시지 함수에서 사용됩니다.

구조체 설명
CMSG_CMS_RECIPIENT_INFO 이 구조는 CryptMsgGetParam 함수와 함께 키 전송, 키 계약 또는 메일 목록 봉투 메시지 받는 사람에 대한 정보를 가져오는 데 사용됩니다.
CMSG_CMS_SIGNER_INFO 이 구조체에는 서명되거나 서명된 메시지와 봉투로 둘러싸인 메시지에 정의된 SignerInfo의 콘텐츠가 포함됩니다.
CMSG_CNG_CONTENT_DECRYPT_INFO Cryptography API: CNG(Next Generation) CEK(콘텐츠 암호화 키)의 가져오기 및 암호 해독을 위해 CryptMsgControl 및 OID 설치 가능 함수 간에 전달된 모든 관련 정보를 포함합니다.
CMSG_CONTENT_ENCRYPT_INFO 콘텐츠 암호화 키의 암호화 및 내보내기에 사용되는 PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY, PFN_CMSG_EXPORT_KEY_TRANS, PFN_CMSG_EXPORT_KEY_AGREEPFN_CMSG_EXPORT_MAIL_LIST 개체 식별자(OID) 설치 가능 함수 간에 공유되는 정보를 포함합니다.
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA 이 구조체는 서명된 메시지의 서명자에 인증되지 않은 특성을 추가하는 데 사용됩니다.
CMSG_CTRL_DECRYPT_PARA 이 구조체에는 키 전송 받는 사람에 대한 봉투 메시지를 해독하는 데 사용되는 정보가 포함되어 있습니다. dwCtrlType 매개 변수가 CMSG_CTRL_DECRYPT 경우 이 구조체는 CryptMsgControl에 전달됩니다.
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA 이 구조체는 서명된 메시지 서명자의 인증되지 않은 특성을 삭제하는 데 사용됩니다.
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA 이 구조에는 주요 계약 받는 사람에 대한 정보가 포함됩니다.
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 키 전송 메시지 수신자에 대한 정보를 포함하는 이 구조체입니다.
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA 이 구조에는 메일 목록 메시지 받는 사람에 대한 정보가 포함됩니다.
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA 이 구조체에는 메시지 서명을 확인하는 데 사용되는 정보가 포함되어 있습니다. 서명자 인덱스 및 서명자 공개 키가 포함됩니다. 서명자 공개 키는 서명자의 CERT_PUBLIC_KEY_INFO구조, 인증서 컨텍스트 또는 체인 컨텍스트일 수 있습니다.
CMSG_ENVELOPED_ENCODE_INFO 이 구조체에는 봉투 메시지를 인코딩하는 데 필요한 정보가 포함되어 있습니다. dwMsgType이 CMSG_ENVELOPED 경우 CryptMsgOpenToEncode에 전달됩니다.
CMSG_ENVELOPED_HASHED_INFO 이 구조체는 해시된 메시지와 함께 사용됩니다. dwMsgType이 CMSG_ENVELOPED 경우 CryptMsgOpenToEncode에 전달됩니다.
CMSG_KEY_AGREE_ENCRYPT_INFO 봉투형 메시지의 모든 주요 계약 수신자에게 적용되는 암호화 정보를 포함합니다.
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO 봉투형 메시지의 키 계약 수신자에 대한 암호화된 키를 포함합니다.
CMSG_KEY_TRANS_ENCRYPT_INFO 봉투형 데이터의 키 전송 수신자에 대한 암호화 정보를 포함합니다.
CMSG_MAIL_LIST_ENCRYPT_INFO 봉투형 데이터의 메일 그룹 받는 사람에 대한 암호화 정보를 포함합니다.
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 이 구조에는 키 규약 키 관리를 사용하는 메시지 받는 사람에 대한 정보가 포함됩니다.
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 이 구조에는 메시지 수신자에 대한 인코딩된 키 전송 정보가 포함됩니다.
CMSG_KEY_TRANS_RECIPIENT_INFO 이 구조체에는 주요 전송 알고리즘에 사용되는 정보가 포함되어 있습니다.
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO 이 구조는 KEK(콘텐츠 키 암호화 키)의 암호를 해독하기 위해 이전에 분산된 대칭 키와 함께 사용됩니다.
CMSG_MAIL_LIST_RECIPIENT_INFO 이 구조에는 이전에 분산된 KEK( 암호화 키)에 사용되는 정보가 포함되어 있습니다.
CMSG_RC2_AUX_INFO 이 구조에는 RC2 암호화 알고리즘에 대한 키의 비트 길이가 포함됩니다. CMSG_ENVELOPED_ENCODE_INFOpvEncryptionAuxInfo 멤버는 이 구조체의 instance 가리키도록 설정할 수 있습니다.
CMSG_RC4_AUX_INFO 이 구조체에는 RC4 암호화 알고리즘에 대한 키의 비트 길이가 포함됩니다. CMSG_ENVELOPED_ENCODE_INFOpvEncryptionAuxInfo 멤버는 이 구조체의 instance 가리키도록 설정할 수 있습니다.
CMSG_RECIPIENT_ENCODE_INFO 이 구조에는 메시지 받는 사람의 콘텐츠 암호화 키 관리 유형에 대한 정보가 포함됩니다.
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO 이 구조에는 메시지 내용의 암호를 해독하는 데 필요한 세션 키의 암호를 해독하는 데 사용되는 메시지 수신기에 대한 정보가 포함됩니다. 이 구조체는 키 관리 메서드를 사용하여 CMS 하위 수준 메시지와 함께 사용됩니다.
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO 이 구조에는 개별 키 계약 수신자에 사용되는 정보가 포함됩니다.
CMSG_SIGNED_ENCODE_INFO 이 구조체에는 dwMsgType이 CMSG_SIGNED 경우 CryptMsgOpenToEncode에 전달할 정보가 포함됩니다.
CMSG_SIGNER_ENCODE_INFO 이 구조체에는 서명자 정보가 포함됩니다. dwMsgType 매개 변수가 CMSG_SIGNED 경우 CryptMsgCountersign, CryptMsgCountersignEncoded에 전달되고, 필요에 따라 CMSG_SIGNED_ENCODE_INFO 구조체의 멤버로 CryptMsgOpenToEncode에 전달됩니다.
CMSG_SIGNER_INFO 이 구조체에는 서명된 메시지에 PKCS #7 정의된 SignerInfo의 콘텐츠가 포함됩니다.
CMSG_SP3_COMPATIBLE_AUX_INFO 이 구조에는 SP3 호환 암호화에 필요한 정보가 포함되어 있습니다.
CMSG_STREAM_INFO 이 구조는 단일 블록 처리가 아닌 스트림 데이터를 처리하는 데 사용됩니다. 스트림 처리는 대용량 메시지를 처리할 때 가장 자주 사용됩니다. 스트림 프로세스 메시지는 하드 디스크, 서버 또는 CD ROM의 파일과 같은 직렬화된 모든 원본에서 발생할 수 있습니다.
CRYPT_DECRYPT_MESSAGE_PARA 메시지 암호 해독에 대한 정보를 포함합니다.
CRYPT_ENCRYPT_MESSAGE_PARA 메시지를 암호화하는 데 사용되는 정보를 포함합니다.
CRYPT_HASH_MESSAGE_PARA 해시 메시지에 대한 데이터를 포함합니다.
CRYPT_SIGN_MESSAGE_PARA 지정된 서명 인증서 컨텍스트를 사용하여 메시지에 서명하기 위한 정보를 포함합니다 .
CRYPT_VERIFY_MESSAGE_PARA 서명된 메시지를 확인하는 데 필요한 정보를 포함합니다.

 

OID 지원 구조

다음 구조체는 OID 지원 함수에서 사용됩니다.

구조체 설명
CRYPT_OID_FUNC_ENTRY OID( 개체 식별자 ) 및 관련 함수에 대한 포인터를 포함합니다. CryptInstallOIDFunctionAddress와 함께 사용됩니다.
CRYPT_OID_INFO OID( 개체 식별자 )에 대한 정보를 포함합니다.
CRYPT_RC2_CBC_PARAMETERS szOID_RSA_RC2CBC 암호화에 사용되는 정보를 포함합니다.
CRYPT_SMIME_CAPABILITIES 지원되는 기능의 우선 순위가 지정된 배열을 포함합니다.
CRYPT_SMIME_CAPABILITY 단일 기능 및 관련 매개 변수를 지정합니다.

 

인증서 체인 구조체

다음 구조는 인증서에 대한 신뢰를 설정하는 데 사용되는 인증서 체인을 빌드하는 데 사용됩니다.

구조체 설명
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA 파일에 대한 인증서 체인 확인에 사용되는 정책 정보를 보유합니다.
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS 파일의 체인 확인을 위한 추가 Authenticode 정책 정보를 보유합니다.
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA 파일의 인증서 체인 확인에 사용할 수 있는 타임스탬프를 포함하는 정책 정보입니다.
CERT_CHAIN_CONTEXT 단순 인증서 체인의 배열과 연결된 모든 단순 체인에 대한 요약 유효성 데이터를 나타내는 트러스트 상태 구조를 포함합니다.
CERT_CHAIN_ELEMENT 이 구조는 간단한 인증서 체인의 단일 요소입니다.
CERT_CHAIN_ENGINE_CONFIG 기본이 아닌 인증서 체인 엔진을 빌드하기 위한 매개 변수를 설정합니다.
CERT_CHAIN_FIND_BY_ISSUER_PARA 인증서 체인을 빌드하기 위해 CertFindChainInStore 에서 사용되는 정보를 보유합니다.
CERT_CHAIN_PARA 인증서 체인을 빌드하는 데 사용할 검색 및 일치 조건을 설정합니다.
CERT_CHAIN_POLICY_PARA 인증서 체인 확인에 대한 정책 기준을 설정하기 위해 CertVerifyCertificateChainPolicy 에 사용되는 정보를 포함합니다.
CERT_CHAIN_POLICY_STATUS 인증서 체인 확인에서 CertVerifyCertificateChainPolicy가 반환한 인증서 체인 상태 정보를 보유합니다.
CERT_REVOCATION_INFO CERT_CHAIN_ELEMENT 인증서의 해지 상태 나타냅니다.
CERT_SELECT_CHAIN_PARA 체인을 빌드하고 선택하는 데 사용되는 매개 변수를 포함합니다.
CERT_SIMPLE_CHAIN 배열이 나타내는 체인에 대한 체인 요소의 배열 및 요약 신뢰 상태 포함합니다.
CERT_SELECTUI_INPUT CertSelectionGetSerializedBlob 함수에서 저장소 또는 인증서 체인 배열에 포함된 인증서를 직렬화하는 데 사용됩니다. 반환된 직렬화된 BLOBCredUIPromptForWindowsCredentials 함수에 전달할 수 있습니다.
CERT_TRUST_LIST_INFO CTL의 유효한 사용량을 나타냅니다.
CERT_TRUST_STATUS 인증서 체인의 인증서에 대한 신뢰 정보, 간단한 인증서 체인에 대한 요약 신뢰 정보 또는 단순 체인 배열에 대한 요약 정보를 포함합니다.
CERT_USAGE_MATCH 인증서 체인을 빌드하는 데 사용되는 발급자 인증서를 찾기 위한 매개 변수를 제공합니다.
CTL_USAGE_MATCH 인증서 체인을 빌드하는 데 사용되는 CTL( 인증서 신뢰 목록 )을 찾기 위한 매개 변수를 제공합니다.
SSL_EXTRA_CERT_CHAIN_POLICY_PARA SSL( Secure Sockets Layer ) 클라이언트/서버 인증서 체인 확인에 사용되는 정책 정보를 보유합니다.

 

CSP 구조체

다음 구조는 CSP( 암호화 서비스 공급자 ) 함수와 함께 사용됩니다.

구조체 설명
BLOBHEADER 키의 BLOB 형식 및 키가 사용하는 알고리즘을 나타냅니다.
VTableProvStruc CSP 함수에서 사용할 수 있는 콜백 함수에 대한 포인터를 포함합니다.
PLAINTEXTKEYBLOB 일반 텍스트 키에 대한 매개 변수 헤더 정보를 포함합니다.

 

WinTrust 구조체

다음 구조체는 WinVerifyTrust 함수와 함께 사용됩니다.

구조체 설명
CRYPT_PROVIDER_DEFUSAGE WintrustGetDefaultForUsage 함수에서 공급자의 기본 사용에 대한 콜백 정보를 검색하는 데 사용됩니다.
CRYPT_PROVIDER_REGDEFUSAGE WintrustAddDefaultForUsage 함수에서 공급자의 기본 사용에 대한 콜백 정보를 등록하는 데 사용됩니다.
SPC_INDIRECT_DATA_CONTENT Authenticode 서명된 파일의 다이제스트 및 기타 특성을 저장합니다.
WINTRUST_BLOB_INFO WinVerifyTrust를 호출하여 메모리 BLOB을 확인하는 데 사용됩니다.
WINTRUST_CATALOG_INFO WinVerifyTrust를 호출하여 Microsoft 카탈로그의 멤버를 확인하는 데 사용됩니다.
WINTRUST_CERT_INFO WinVerifyTrust를 호출하여 CERT_CONTEXT 확인할 때 사용됩니다.
WINTRUST_DATA WinVerifyTrust를 호출하여 필요한 정보를 트러스트 공급자에 전달할 때 사용됩니다.
WINTRUST_FILE_INFO WinVerifyTrust를 호출하여 개별 파일을 확인할 때 사용됩니다.
WINTRUST_SGNR_INFO WinVerifyTrust를 호출하여 CMSG_SIGNER_INFO 구조를 확인할 때 사용됩니다.

 

SIP 구조체

다음 구조는 주체 인터페이스 패키지 (SIPP 함수)에서 사용됩니다.

구조체 설명
SIP_ADD_NEWPROVIDER SIP를 정의합니다.
SIP_CAP_SET SIP의 기능을 정의합니다.
SIP_DISPATCH_INFO SIP 함수에 대한 포인터 집합을 포함합니다.
SIP_INDIRECT_DATA 해시된 주체 정보의 다이제스트를 포함합니다.
SIP_SUBJECTINFO SIP 주체 정보를 지정합니다.