Compartilhar via


CMSG_SIGNER_ENCODE_INFO

Windows Mobile SupportedWindows Embedded CE Supported

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.

  • 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