Compartilhar via


estrutura BCRYPT_DSA_KEY_BLOB_V2 (bcrypt.h)

A estrutura BCRYPT_DSA_KEY_BLOB_V2 é usada como um cabeçalho para um DSA (Algoritmo de Assinatura Digital) de chave pública ou chave privadaBLOB na memória.

Sintaxe

typedef struct _BCRYPT_DSA_KEY_BLOB_V2 {
  ULONG               dwMagic;
  ULONG               cbKey;
  HASHALGORITHM_ENUM  hashAlgorithm;
  DSAFIPSVERSION_ENUM standardVersion;
  ULONG               cbSeedLength;
  ULONG               cbGroupSize;
  UCHAR               Count[4];
} BCRYPT_DSA_KEY_BLOB_V2, *PBCRYPT_DSA_KEY_BLOB_V2;

Membros

dwMagic

Determina o tipo de chave que essa estrutura representa. Esse pode ser um dos valores a seguir.

Valor Significado
BCRYPT_DSA_PUBLIC_MAGIC_V2
0x32425044
A estrutura representa uma chave pública DSA.
BCRYPT_DSA_PRIVATE_MAGIC_V2
0x32565044
A estrutura representa uma chave privada DSA.

cbKey

O comprimento, em bytes, da chave.

hashAlgorithm

Um valor de enumeração HASHALGORITHM_ENUM que especifica o algoritmo de hash a ser usado.

standardVersion

Um valor de enumeração DSAFIPSVERSION_ENUM que especifica o PADRÃO de Processamento de Informações Federais (FIPS) a ser aplicado.

cbSeedLength

Comprimento da semente usada para gerar o número principal q em bytes.

cbGroupSize

Tamanho do número principal q em bytes. Atualmente, quando a chave excede 1024 bits de comprimento, q tem 32 bytes de comprimento.

Count[4]

O número de iterações executadas para gerar o número principal q da semente. Para obter mais informações, consulte nist standard FIPS186-3.

Observações

A estrutura se aplica a chaves DSA que excedem 1.024 bits de comprimento, mas são menores ou iguais a 3.072 bits.

Essa estrutura é usada como um cabeçalho para um buffer maior. Uma de BLOB de chave pública DSA (BCRYPT_DSA_PUBLIC_BLOB) tem o seguinte formato na memória contígua. Os números Seed, q, Modulus, Generator e Public estão no formato big-endian.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]  // Big-endian.
q[cbGroupSize]      // Big-endian.
Modulus[cbKey]      // Big-endian.
Generator[cbKey]    // Big-endian.
Public[cbKey]       // Big-endian.

Um de BLOB de chave privada DSA (BCRYPT_DSA_PRIVATE_BLOB) tem o seguinte formato na memória contígua. Os números Seed, q, Modulus, Generator, Public e PrivateExponent estão no formato big-endian.


BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength]              // Big-endian.
q[cbGroupSize]                  // Big-endian.
Modulus[cbKey]                  // Big-endian.
Generator[cbKey]                // Big-endian.
Public[cbKey]                   // Big-endian.
PrivateExponent[cbGroupSize]    // Big-endian.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8 [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2012 [somente aplicativos da área de trabalho]
cabeçalho bcrypt.h

Consulte também

BCryptExportKey

BCryptImportKeyPair