structure BCRYPT_DSA_KEY_BLOB_V2 (bcrypt.h)
La structure BCRYPT_DSA_KEY_BLOB_V2 est utilisée comme en-tête pour un 'algorithme de signature numérique (DSA) clé publique ou clé privéeBLOB en mémoire.
Syntaxe
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;
Membres
dwMagic
Détermine le type de clé que représente cette structure. Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
La structure représente une clé publique DSA. |
|
La structure représente une clé privée DSA. |
cbKey
Longueur, en octets, de la clé.
hashAlgorithm
Valeur d’énumération HASHALGORITHM_ENUM qui spécifie l’algorithme de hachage à utiliser.
standardVersion
Valeur d’énumération DSAFIPSVERSION_ENUM qui spécifie la norme FIPS (Federal Information Processing Standard) à appliquer.
cbSeedLength
Longueur de la valeur initiale utilisée pour générer le nombre premier q en octets.
cbGroupSize
Taille du nombre premier q en octets. Actuellement, lorsque la clé dépasse 1024 bits de longueur, q est de 32 octets.
Count[4]
Nombre d’itérations effectuées pour générer le nombre premier q à partir de la valeur initiale. Pour plus d’informations, consultez la norme NIST FIPS186-3.
Remarques
La structure s’applique aux clés DSA qui dépassent 1024 bits de longueur, mais qui sont inférieures ou égales à 3072 bits.
Cette structure est utilisée comme en-tête pour une mémoire tampon plus grande. Un DSA blob de clé publique (BCRYPT_DSA_PUBLIC_BLOB) a le format suivant en mémoire contiguë. Les nombres Seed, q, Modulus, Generator et Public sont au format 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.
Un blob de clé privée
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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8 [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2012 [applications de bureau uniquement] |
d’en-tête | bcrypt.h |