AI_SignVerify

AI_SignVerify

Purpose:

This AI allows you to sign a message in compliance with the X9.31 standard, or to verify X9.31 compliant signatures.

Type of information this allows you to use:

an RSA private key to sign a message in compliance with the X9.31 standard, or an RSA public key to verify X9.31 compliant signatures. To be fully compliant with the X9.31 standard, use only keys that are generated by AI_RSAStrongKeyGen.

Format of info supplied to B_SetAlgorithmInfo:

a pointer to a B_SIGN_VERIFY_PARAMS structure:

typedef struct {

 

 

 

/* Current Choices */

unsigned char *encryptionMethodName;

/* “rsaSignX931”, “rsaVerifyX931” */

POINTER

encryptionParams; /* Null for what is currently available*/

unsigned char *digestMethodName;

 

/* “sha1” */

POINTER

digestParams;

 

/* Null for sha1 */

unsigned char *formatMethodName;

 

/*”formatX931” */

POINTER

formatParams; /* structure of type A_X931_PARAMS for sha1 */

} B_SIGN_VERIFY_PARAMS;

 

 

 

 

 

Set the arguments for B_SIGN_VERIFY_PARAMS as follows:

 

 

 

 

 

Argument

 

Values

 

Comments

 

 

 

 

 

 

 

 

encryptionMethodName

rsaSignX931

 

 

 

 

 

 

 

 

 

rsaVerifyX931

 

 

 

 

 

 

 

encryptionParams

 

Null Pointer for

 

 

 

 

RSA X9.31

 

 

 

 

 

 

 

digestMethodName

 

sha1

 

 

 

 

 

 

 

digestParams

 

Null Pointer for

 

 

 

 

SHA1

 

 

 

 

 

 

 

2 3 6

R S A B S A F E C r y p t o - C L i b r a r y R e f e r e n c e M a n u a l

Page 246
Image 246
RSA Security 5 AISignVerify, Pointer to a Bsignverifyparams structure, Set the arguments for Bsignverifyparams as follows