Chapter 2 Algorithm Info Types 125
AI_MD5WithDES_CBCPadBER
AI_MD5WithDES_CBCPadBER
Purpose:
This AI is similar to AI_MD5WithDES_CBCPad except that it uses the ASN.1 BER format.
This AI allows you to parse and create ASN.1 algorithm identifiers such as those used
in PKCS #7 and other protocols. You call
B_SetAlgorithmInfo to initialize an
algorithm object from the encoded algorithm identifier which includes ASN.1
encoding of the
B_PBE_PARAMS structure defined in the description of
AI_MD5WithDES_CBCPad. You call B_GetAlgorithmInfo with this AI to create an
encoded algorithm identifier from an algorithm object that was created using
AI_MD5WithDES_CBCPad or AI_MD5WithDES_CBCPad. The OID for this algorithm,
excluding the tag and length bytes, in decimal is “
42, 134, 72, 134, 247, 13, 1,
5, 3
”.
Type of information this allows you to use:
the encoding of an algorithm identifier that specifies the MD5 With DES-CBC
password-based encryption algorithm as defined in PKCS #5.
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 MD5 With DES-CBC.
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_EncryptInit, B_EncryptUpdate, B_EncryptFinal, B_DecryptInit,
B_DecryptUpdate, and B_DecryptFinal. You may pass (B_ALGORITHM_OBJ)NULL_PTR
for all
randomAlgorithm
arguments.