Chapter 2 Algorithm Info Types 115
AI_MD2WithRSAEncryptionBER
AI_MD2WithRSAEncryptionBER
Purpose:
This AI is similar to AI_MD2WithRSAEncryption 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_MD2WithRSAEncryption or AI_MD2WithRSAEncryptionBER. The
OID for this algorithm, excluding the tag and length bytes, in decimal, is “42, 134,
72, 134, 247, 13, 1, 1, 2”. Also see AI_MD2WithRSAEncryption.
Type of information this allows you to use:
the encoding of an algorithm identifier that specifies the MD2 With RSA Encryption
signature algorithm that uses the MD2 digest algorithm and the RSA algorithm to
create and verify RSA digital signatures as defined in PKCS #1.
Note that in order to perform PKCS #1 digital signatures with a 16-byte digest, the
RSA key must be at least 360 bits long.
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 MD2 With RSA Encryption.
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 may pass (B_ALGORITHM_OBJ)NULL_PTR for all
randomAlgorithm
arguments.