Identificadores de propriedade primitiva de criptografia

Os valores a seguir são usados com as funções BCryptGetProperty e BCryptSetProperty para identificar uma propriedade.

BCRYPT_ALGORITHM_NAME

L"AlgorithmName"

Uma cadeia de caracteres Unicode terminada em nulo que contém o nome do algoritmo.

BCRYPT_AUTH_TAG_LENGTH

L"AuthTagLength"

Os comprimentos da marca de autenticação compatíveis com o algoritmo. Essa propriedade é uma estrutura BCRYPT_AUTH_TAG_LENGTHS_STRUCT . Essa propriedade só se aplica a algoritmos.

BCRYPT_BLOCK_LENGTH

L"BlockLength"

O tamanho, em bytes, de um bloco de criptografia para o algoritmo. Essa propriedade só se aplica a algoritmos de criptografia de bloco. Esse tipo de dados é um DWORD.

BCRYPT_BLOCK_SIZE_LIST

L"BlockSizeList"

Uma lista dos comprimentos de bloco compatíveis com um algoritmo de criptografia. Esse tipo de dados é uma matriz de DWORDs. O número de elementos na matriz pode ser determinado dividindo o número de bytes recuperados pelo tamanho de um único DWORD.

BCRYPT_CHAINING_MODE

L"ChainingMode"

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que representa o modo de encadeamento do algoritmo de criptografia. Essa propriedade pode ser definida em um identificador de algoritmo ou um identificador de chave para um dos valores a seguir.

Identificador Valor Descrição
BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC"
Define o modo de encadeamento do algoritmo para codificar o encadeamento de blocos.
BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM"
Define o modo de encadeamento do algoritmo para contrariar o modo CBC-MAC (CCM). Windows Vista: Esse valor tem suporte a partir do Windows Vista com SP1.

BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB"
Define o modo de encadeamento do algoritmo para codificar comentários.
BCRYPT_CHAIN_MODE_ECB L"ChainingModeECB"
Define o modo de encadeamento do algoritmo como codebook eletrônico.
BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM"
Define o modo de encadeamento do algoritmo como Galois/modo de contador (GCM). Windows Vista: Esse valor tem suporte a partir do Windows Vista com SP1.

BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A"
O algoritmo não dá suporte ao encadeamento.

BCRYPT_DH_PARAMETERS

L"DHParameters"

Especifica parâmetros a serem usados com uma chave Diffie-Hellman. Esse tipo de dados é um ponteiro para uma estrutura de BCRYPT_DH_PARAMETER_HEADER . Essa propriedade só pode ser definida e deve ser definida para a chave antes que a chave seja concluída.

BCRYPT_DSA_PARAMETERS

L"DSAParameters"

Especifica parâmetros a serem usados com uma chave DSA. Essa propriedade é um BCRYPT_DSA_PARAMETER_HEADER ou uma estrutura de BCRYPT_DSA_PARAMETER_HEADER_V2 . Essa propriedade só pode ser definida e deve ser definida para a chave antes que a chave seja concluída.

Windows 8: começando com Windows 8, essa propriedade pode ser uma estrutura BCRYPT_DSA_PARAMETER_HEADER_V2. Use essa estrutura se o tamanho da chave exceder 1024 bits e for menor ou igual a 3072 bits. Se o tamanho da chave for maior ou igual a 512, mas menor ou igual a 1024 bits, use a estrutura BCRYPT_DSA_PARAMETER_HEADER .

BCRYPT_EFFECTIVE_KEY_LENGTH

L"EffectiveKeyLength"

O tamanho, em bits, do comprimento efetivo de uma chave RC2. Esse tipo de dados é um DWORD.

BCRYPT_HASH_BLOCK_LENGTH

L"HashBlockLength"

O tamanho, em bytes, do bloco para um hash. Essa propriedade só se aplica a algoritmos de hash. Esse tipo de dados é um DWORD.

BCRYPT_HASH_LENGTH

L"HashDigestLength"

O tamanho, em bytes, do valor de hash de um provedor de hash. Esse tipo de dados é um DWORD.

BCRYPT_HASH_OID_LIST

L"HashOIDList"

A lista de identificadores de objeto de hash codificados em DER (OIDs). Essa propriedade é uma estrutura BCRYPT_OID_LIST . Essa propriedade só pode ser lida.

BCRYPT_INITIALIZATION_VECTOR

L"IV"

Contém o IV (vetor de inicialização ) para uma chave. Essa propriedade só se aplica a chaves.

BCRYPT_KEY_LENGTH

L"KeyLength"

O tamanho, em bits, do valor da chave de um provedor de chave simétrica. Esse tipo de dados é um DWORD.

BCRYPT_KEY_LENGTHS

L"KeyLengths"

Os comprimentos de chave compatíveis com o algoritmo. Essa propriedade é uma estrutura BCRYPT_KEY_LENGTHS_STRUCT . Essa propriedade só se aplica a algoritmos.

BCRYPT_KEY_OBJECT_LENGTH

L"KeyObjectLength"

Essa propriedade não é usada. A propriedade BCRYPT_OBJECT_LENGTH é usada para obter essas informações.

BCRYPT_KEY_STRENGTH

L"KeyStrength"

O número de bits na chave. Esse tipo de dados é um DWORD. Essa propriedade só se aplica a chaves.

BCRYPT_MESSAGE_BLOCK_LENGTH

L"MessageBlockLength"

Isso pode ser definido em qualquer identificador de chave que tenha o modo de encadeamento cfb definido. Por padrão, essa propriedade é definida como 1 para CFB de 8 bits. Defini-lo como o tamanho do bloco em bytes faz com que o CFB de bloco completo seja usado. Para chaves XTS, ela é usada para definir o tamanho, em bytes, da Unidade de Dados XTS (normalmente 512 ou 4096).

BCRYPT_MULTI_OBJECT_LENGTH

L"MultiObjectLength"

Essa propriedade retorna um BCRYPT_MULTI_OBJECT_LENGTH_STRUCT, que contém informações necessárias para calcular o tamanho de um buffer de objeto. Essa propriedade só tem suporte em versões do sistema operacional que dão suporte à função BCryptCreateMultiHash .

BCRYPT_OBJECT_LENGTH

L"ObjectLength"

O tamanho, em bytes, do subobjeto de um provedor. Esse tipo de dados é um DWORD. Atualmente, os provedores de algoritmo de criptografia simétrica e hash usam buffers alocados pelo chamador para armazenar seus subobjetos. Por exemplo, o provedor de hash exige que você aloque memória para o objeto hash obtido com a função BCryptCreateHash . Essa propriedade fornece o tamanho do buffer para o objeto de um provedor para que você possa alocar memória para o objeto criado pelo provedor.

BCRYPT_PADDING_SCHEMES

L"PaddingSchemes"

Representa o esquema de preenchimento do provedor de algoritmo RSA. Esse tipo de dados é um DWORD. Esse pode ser um dos valores a seguir.

Identificador Valor Descrição
BCRYPT_SUPPORTED_PAD_ROUTER 0x00000001 O provedor dá suporte ao preenchimento adicionado pelo roteador.
BCRYPT_SUPPORTED_PAD_PKCS1_ENC 0x00000002 O provedor dá suporte ao esquema de preenchimento de criptografia PKCS1.
BCRYPT_SUPPORTED_PAD_PKCS1_SIG 0x00000004 O provedor dá suporte ao esquema de preenchimento de assinatura PKCS1.
BCRYPT_SUPPORTED_PAD_OAEP 0x00000008 O provedor dá suporte ao esquema de preenchimento OAEP.
BCRYPT_SUPPORTED_PAD_PSS 0x00000010 O provedor dá suporte ao esquema de preenchimento PSS.

BCRYPT_PROVIDER_HANDLE

L"ProviderHandle"

O identificador do provedor CNG que criou o objeto passado no parâmetro hObject . Esse tipo de dados é um BCRYPT_ALG_HANDLE. Essa propriedade só pode ser recuperada; ele não pode ser definido.

BCRYPT_SIGNATURE_LENGTH

L"SignatureLength"

O tamanho, em bytes, do comprimento de uma assinatura para uma chave. Esse tipo de dados é um DWORD. Essa propriedade só se aplica a chaves. Essa propriedade só pode ser recuperada; ele não pode ser definido.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Bcrypt.h