estrutura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO (wincrypt.h)
A estrutura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO contém informações sobre um destinatário de mensagem que está usando o gerenciamento de chaves do contrato de chave. Essa estrutura é usada com a estrutura CMSG_RECIPIENT_ENCODE_INFO .
Sintaxe
typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm;
void *pvKeyWrapAuxInfo;
HCRYPTPROV_LEGACY hCryptProv;
DWORD dwKeySpec;
DWORD dwKeyChoice;
union {
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
PCERT_ID pSenderId;
} DUMMYUNIONNAME;
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD cRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
Membros
cbSize
O tamanho, em bytes, dessa estrutura.
KeyEncryptionAlgorithm
Uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo usado para criptografia.
Para destinatários ECC, o membro pszObjId da estrutura CRYPT_ALGORITHM_IDENTIFIER deve ser definido como szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF com o membro dwKeyChoice dessa estrutura CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO definido como CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.
pvKeyEncryptionAuxInfo
Este membro não é usado no momento. Ele deve ser definido como NULL.
KeyWrapAlgorithm
Uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo usado para encapsulamento de chave.
pvKeyWrapAuxInfo
Um ponteiro para uma estrutura CMSG_RC2_AUX_INFO que especifica o comprimento do bit de encapsulamento da chave. Esse membro só será usado se o membro KeyWrapAlgorithm especificar um algoritmo RC2. Se KeyWrapAlgorithm especificar um algoritmo diferente de um algoritmo RC2, esse membro não será usado e deverá ser NULL.
hCryptProv
Esse membro não é usado e deve ser definido como NULL.
Windows Server 2003 e Windows XP: Um identificador para um provedor de serviços criptográficos (CSP) obtido usando a função CryptAcquireContext . Esse membro é opcional e pode ser NULL. O tipo de dados desse membro é HCRYPTPROV.
dwKeySpec
Este membro não é usado no momento.
dwKeyChoice
Indica o tipo de contrato de chave. Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Crie um par temporário de chaves públicas/privadas para criptografar a chave de criptografia de conteúdo. |
|
Esse valor não é usado atualmente. |
DUMMYUNIONNAME
DUMMYUNIONNAME.pEphemeralAlgorithm
Um ponteiro para uma estrutura de CRYPT_ALGORITHM_IDENTIFIER que contém o algoritmo e parâmetros de chave pública efêmera. Esse membro é usado quando o membro dwKeyChoice contém CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE.
DUMMYUNIONNAME.pSenderId
Um ponteiro para uma estrutura CERT_ID . Esse membro é usado quando o membro dwKeyChoice contém CMSG_KEY_AGREE_STATIC_KEY_CHOICE. Este membro não é usado no momento.
UserKeyingMaterial
Uma estrutura CRYPT_DATA_BLOB que contém o UKM (material de chave do usuário) fornecido pelo remetente para garantir que uma chave diferente seja gerada sempre que as mesmas duas partes gerarem uma chave em termos de par. Esse membro é opcional e todos os membros devem ser definidos como zero se não forem usados.
cRecipientEncryptedKeys
O número de elementos na matriz rgpRecipientEncryptedKeys .
rgpRecipientEncryptedKeys
Uma matriz de estruturas CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO , uma para cada destinatário receber essa chave de contrato de chave. O membro cRecipientEncryptedKeys contém o número de elementos nessa estrutura.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | wincrypt.h |