AI_PKCS_RSAPublicBER

AI_PKCS_RSAPublicBER

Purpose:

This AI is similar to AI_PKCS_RSAPublic 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. You call B_GetAlgorithmInfo with this AI to create an encoded algorithm identifier from an algorithm object that was created using AI_PKCS_RSAPublic, AI_PKCS_RSAPublicBER or AI_PKCS_RSAPublicPEM. The OID for this algorithm, excluding the tag and length bytes, in decimal is “42, 134, 72, 134, 247, 13, 1, 1, 1”.

Type of information this allows you to use:

the encoding of an algorithm identifier that specifies the RSA algorithm for performing public-key encryption as defined in PKCS #1. When encrypting, this algorithm encodes the data according to block type 02. When decrypting, this algorithm decodes the data from block type 01.

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 the RSA algorithm.

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. Note that B_EncryptUpdate and B_EncryptFinal require a random algorithm. You may pass (B_ALGORITHM_OBJ)NULL_PTR for the randomAlgorithm argument in B_DecryptUpdate and B_DecryptFinal.

1 7 4

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 184
Image 184
RSA Security 5 manual AIPKCSRSAPublicBER