Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
9/8/2008
Essa estrutura contém informações de signatário. Ele é passado opcionalmente para CryptMsgOpenToEncode como um membro das CMSG_SIGNED_ENCODE_INFO estrutura, se a dwMsgType parâmetro é CMSG_SIGNED.
Syntax
typedef struct _CMSG_SIGNER_ENCODE_INFO {
DWORD cbSize;
PCERT_INFO pCertInfo;
HCRYPTPROV hCryptProv;
DWORD dwKeySpec;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void* pvHashAuxInfo;
DWORD cAuthAttr;
PCRYPT_ATTRIBUTE rgAuthAttr;
DWORD cUnauthAttr;
PCRYPT_ATTRIBUTE rgUnauthAttr;
CERT_ID SignerId;
CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
void* pvHashEncryptionAuxInfo;
} CMSG_SIGNER_ENCODE_INFO, *PCMSG_SIGNER_ENCODE_INFO;
Os membros
- cbSize
Tamanho dessa estrutura em bytes.
pCertInfo
Ponteiro para um CERT_INFO estrutura que contém o Emissor, Número de série, e SubjectPublicKeyInfo Os membros.O pbData Os membros das Emissor e Número de série Estruturas combinadas de forma exclusiva identificam um Certificado. O Algoritmo membro das SubjectPublicKeyInfo estrutura especifica o algoritmo hash criptografia usado.
- hCryptProv
Identificador para o provedor de serviços de criptografia (CSP). Se HashEncryptionAlgorithm está definido para szOID_PKIX_NO_SIGNATURE, este identificador pode ser o identificador de uma CSP adquirido usando dwFlags definido como CRYPT_VERIFYCONTEXT.
dwKeySpec
Especifica o chave particular para ser usado.Se dwKeySpec for zero, o valor AT_KEYEXCHANGE usar como padrão é usado.
O seguinte dwKeySpec Os valores são definidos para o provedor usar como padrão.
Valor Descrição AT_KEYEXCHANGE
As chaves usadas para criptografar/descriptografar chaves sessão.
AT_SIGNATURE
As chaves usadas para criar e digital verificar assinaturas.
- HashAlgorithm
CRYPT_ALGORITHM_IDENTIFIER estrutura especificando o algoritmo hash.
- pvHashAuxInfo
Atualmente não usado. Este membro deve ser definido como NULL.
- cAuthAttr
Número de elementos de rgAuthAttr matriz. Se não autenticado atributos estão presentes no rgAuthAttr, em seguida, cAuthAttr é 0 (zero).
rgAuthAttr
Ponteiro para uma matriz de CRYPT_ATTRIBUTE estruturas, cada contendo autenticado informações de atributo.O padrão PKCS #9 determina que se existem quaisquer atributos, deve haver pelo menos dois: o identificador de objeto tipo de conteúdo (OID) e o hash da mensagem. Esses atributos são automaticamente adicionadas pelo sistema.
- cUnauthAttr
Número de elementos de rgUnauthAttr matriz. Se não houver nenhum atributos não autenticados, cUnauthAttr é 0 (zero).
- rgUnauthAttr
Ponteiro para uma matriz de CRYPT_ATTRIBUTE estruturas, cada controladora não autenticado informações de atributo. Atributos não autenticados podem conter referendas entre outros usos.
- SignerId
CERT_ID estrutura que contém um identificador exclusivo de Certificado do signatário. Este membro opcionalmente pode ser usado com 7 nº PKCS com CMS. Se esse membro estiver presente e seu dwIdChoice membro não é 0 (zero), ele é usado para identificar para o Certificado instead of de Emissor e Número de série Os membros das CERT_INFO estrutura apontada pelo pCertInfo. Se não for NULL, seu dwIdChoice membro é usado em vez das Emissor e Número de série Em pCertInfo. CMS oferece suporte a KEY_IDENTIFIER e CERT_IDs ISSUER_SERIAL_NUMBER. PKCS versão 1.5 oferece suporte apenas para a escolha ISSUER_SERIAL_NUMBER CERT_ID. Esse membro pode ser usado somente se CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS é definido.
HashEncryptionAlgorithm
CRYPT_ALGORITHM_IDENTIFIER estrutura opcionalmente usada com PKCS #7 com CMS. Se esse membro não for NULL, o algoritmo identificado usado instead of o algoritmo SubjectPublicKeyInfo.Algorithm. Se definido como szOID_PKIX_NO_SIGNATURE, o valor assinatura contém apenas os octetos hash. Se estiver presente e não NULL, esse membro é usado instead of o algoritmo PublicKeyInfo.Algorithm.Para RSA, o algoritmo hash criptografia é normalmente o mesmo que o algoritmo chave pública. Para DSA, o algoritmo hash criptografia é normalmente um algoritmo assinatura DSS.
Esse membro pode ser usado somente se CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS é definido.
- pvHashEncryptionAuxInfo
Atualmente não usado. Ele deve ser definido como NULL se ele estiver presente na estrutura de dados. Este membro estará presente somente se CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS está definido.
Requirements
Header | wincrypt.h |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Cryptography Structures
CERT_INFO
CRYPT_ALGORITHM_IDENTIFIER
CRYPT_ATTRIBUTE
CryptMsgControl