AI_PKCS_RSAPublicPEM

AI_PKCS_RSAPublicPEM

Purpose:

This AI is similar to AI_PKCS_RSAPublic except that it uses the Privacy Enhanced Mail (PEM) format. This AI allows you to parse and create PEM algorithm identifiers such as used in PEM protocol. 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.

Type of information this allows you to use:

an RFC 1423 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. This algorithm info type is intended to process the asymmetric encryption identifier in a MIC-Info and Key-Info field in a PEM encapsulated header.

Format of info supplied to B_SetAlgorithmInfo:

pointer to a null-terminated string (char *) that gives the RSA identifier. For example, “RSA”. Space and tab characters are removed from the string before it is copied to the algorithm object. B_SetAlgorithmInfo returns BE_WRONG_ALGORITHM_INFO if the algorithm identifier does not specify the RSA algorithm.

Format of info returned by B_GetAlgorithmInfo:

pointer to a null-terminated string that gives the RSA 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 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 186
Image 186
RSA Security 5 manual AIPKCSRSAPublicPEM