다음을 통해 공유


CRYPT_PROVIDER_DATA 구조체(wintrust.h)

[ CRYPT_PROVIDER_DATA 구조는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다.]

CRYPT_PROVIDER_DATA 구조는 WinVerifyTrust와 트러스트 공급자 간에 데이터를 전달하는 데 사용됩니다.

구문

typedef struct _CRYPT_PROVIDER_DATA {
  DWORD                               cbStruct;
  WINTRUST_DATA                       *pWintrustData;
  BOOL                                fOpenedFile;
  HWND                                hWndParent;
  GUID                                *pgActionID;
  HCRYPTPROV                          hProv;
  DWORD                               dwError;
  DWORD                               dwRegSecuritySettings;
  DWORD                               dwRegPolicySettings;
  struct _CRYPT_PROVIDER_FUNCTIONS    *psPfns;
  DWORD                               cdwTrustStepErrors;
  DWORD                               *padwTrustStepErrors;
  DWORD                               chStores;
  HCERTSTORE                          *pahStores;
  DWORD                               dwEncoding;
  HCRYPTMSG                           hMsg;
  DWORD                               csSigners;
  struct _CRYPT_PROVIDER_SGNR         *pasSigners;
  DWORD                               csProvPrivData;
  struct _CRYPT_PROVIDER_PRIVDATA     *pasProvPrivData;
  DWORD                               dwSubjectChoice;
  union {
#if ...
    _PROVDATA_SIP        *pPDSip;
#else
    struct _PROVDATA_SIP *pPDSip;
#endif
  };
  char                                *pszUsageOID;
  BOOL                                fRecallWithState;
  FILETIME                            sftSystemTime;
  char                                *pszCTLSignerUsageOID;
  DWORD                               dwProvFlags;
  DWORD                               dwFinalError;
  PCERT_USAGE_MATCH                   pRequestUsage;
  DWORD                               dwTrustPubSettings;
  DWORD                               dwUIStateFlags;
  struct _CRYPT_PROVIDER_SIGSTATE     *pSigState;
  struct WINTRUST_SIGNATURE_SETTINGS_ *pSigSettings;
} CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA;

멤버

cbStruct

이 구조체의 크기(바이트)입니다.

pWintrustData

확인할 정보가 포함된 WINTRUST_DATA 구조체에 대한 포인터입니다.

fOpenedFile

해당하는 경우 트러스트 공급자가 파일 핸들을 열었는지 여부를 나타내는 부울 값입니다.

hWndParent

부모 창에 대한 핸들입니다. 지정하지 않으면 바탕 화면 창에 대한 핸들이 사용됩니다.

pgActionID

작업을 식별하는 GUID 구조와 해당 작업을 지원하는 신뢰 공급자에 대한 포인터입니다.

hProv

CSP( 암호화 서비스 공급자 )에 대한 핸들입니다. 이 매개 변수가 NULL이면 운영 체제에서 기본 CSP를 제공합니다.

dwError

하위 수준 시스템 오류가 발생한 경우 오류 수준입니다.

dwRegSecuritySettings

레지스트리 보안 설정입니다.

dwRegPolicySettings

레지스트리 정책 설정입니다.

psPfns

CRYPT_PROVIDER_FUNCTIONS 구조체에 대한 포인터입니다.

cdwTrustStepErrors

padwTrustStepErrors 배열의 요소 수입니다.

padwTrustStepErrors

신뢰 단계 오류를 지정하는 DWORD 값의 배열입니다.

chStores

pahStores 배열의 요소 수입니다.

pahStores

인증서 저장소 핸들의 배열입니다.

dwEncoding

인코딩 형식을 지정하는 값입니다.

hMsg

암호화 메시지에 대한 핸들입니다.

csSigners

pasSigners 배열의 요소 수입니다.

pasSigners

CRYPT_PROVIDER_SGNR 구조체 배열에 대한 포인터입니다.

csProvPrivData

pasProvPrivData 배열의 요소 수입니다.

pasProvPrivData

CRYPT_PROVIDER_PRIVDATA 구조체 배열에 대한 포인터입니다.

dwSubjectChoice

주체 선택을 지정하는 값입니다.

pPDSip

_PROVDATA_SIP 구조체에 대한 포인터입니다.

pszUsageOID

OID(사용 개체 식별자 )를 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

fRecallWithState

카탈로그 파일에 대해 상태가 유지되었는지 여부를 나타내는 부울 값입니다.

sftSystemTime

시스템 시간입니다.

pszCTLSignerUsageOID

CTL( 인증서 신뢰 목록 ) 서명자 사용 OID를 나타내는 null로 끝나는 문자열에 대한 포인터입니다.

dwProvFlags

다음 플래그 중 하나 이상의 비트 조합입니다.

의미
CPD_USE_NT5_CHAIN_FLAG
0x80000000
Windows 2000 체인을 사용합니다.
CPD_REVOCATION_CHECK_NONE
0x00010000
해지 검사가 수행되지 않습니다.
CPD_REVOCATION_CHECK_END_CERT
0x00020000
최종 인증서에 대한 해지 확인이 수행됩니다.
CPD_REVOCATION_CHECK_CHAIN
0x00040000
인증서 체인에 대한 해지 검사가 수행됩니다.
CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00080000
루트 인증서를 제외한 인증서 체인에 대한 해지 검사가 수행됩니다.

dwFinalError

최종 오류에 대한 값입니다.

pRequestUsage

CERT_USAGE_MATCH 구조체에 대한 포인터입니다.

dwTrustPubSettings

트러스트 게시자 설정에 대한 값입니다.

dwUIStateFlags

트러스트 공급자와 사용자 인터페이스 간에 전달되는 상태 데이터를 지정하는 DWORD 값입니다.

WINDOWS XP SP1 및 Windows XP: 이 멤버는 무시됩니다.

pSigState

pSigSettings

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 wintrust.h