AI_DSAWithSHA1_BER

AI_DSAWithSHA1_BER

Purpose:

This AI is similar to AI_DSAWithSHA1 except that it uses the ASN.1 BER format. This AI allows you to parse and create ASN.1 algorithm identifiers such as used in PKCS #7 and other protocols. You call B_SetAlgorithmInfo to initialize an algorithm object from the encoded algorithm identifier. You call B_GetAlgorithmInfo with this AI to create an encoded algorithm identifier from an algorithm object that was created using AI_DSAWithSHA1 or AI_DSAWithSHA1_BER. The OID for this algorithm, excluding the tag and length bytes, in decimal, is “43, 14, 3, 2, 27“. Also see AI_DSAWithSHA1.

Type of information this allows you to use:

the encoding of an algorithm identifier that specifies the DSA With SHA1 signature algorithm that uses the SHA1 digest algorithm and DSA to create and verify DSA digital signatures as defined in X9.57 Draft Section 5.3.1 and FIPS PUB 186.

Format of info supplied to B_SetAlgorithmInfo:

pointer to an ITEM structure that gives the address and length of the BER-encoded algorithm identifier. The encoding is converted to DER before it is copied to the algorithm object. B_SetAlgorithmInfo returns BE_WRONG_ALGORITHM_INFO if the algorithm identifier specifies an algorithm other than DSA With SHA1.

Format of info returned by B_GetAlgorithmInfo:

pointer to an ITEM structure that gives the address and length of the DER-encoded algorithm identifier.

Crypto-C procedures to use with algorithm object:

B_SignInit, B_SignUpdate, B_SignFinal, B_VerifyInit, B_VerifyUpdate, and

B_VerifyFinal. You must pass a random algorithm in B_SignFinal, but may pass (B_ALGORITHM_OBJ)NULL_PTR for all other randomAlgorithm arguments.

Algorithm methods to include in application’s algorithm chooser:

AM_SHA1 and AM_DSA_SIGN for signature creation, and AM_DSA_VERIFY for signature verification.

C h a p t e r 2 A l g o r i t h m I n f o Ty p e s

57

Page 67
Image 67
RSA Security 5 manual AIDSAWithSHA1BER