第二十二章 PEM格式 / 22.3 PEM函数

PEM函数定义在crypto/pem.h中。函数比较简单,主要的函数有:

1)    PEM_write_XXXX/PEM_write_bio_XXXX

XXXX代表的信息类型写入到文件/bio中。

2)    PEM_read_XXXX/PEM_read_bio_XXXX

从文件/bio中读取PEMXXXX代表类型的信息。

XXXX可用代表的有:SSL_SESSIONX509X509_REQX509_AUXX509_CRLRSAPrivateKeyRSAPublicKeyDSAPrivateKeyPrivateKeyPKCS7DHparamsNETSCAPE_CERT_SEQUENCEPKCS8PrivateKeyDSAPrivateKeyDSA_PUBKEYDSAparamsECPKParametersECPrivateKeyEC_PUBKEY等。

3)    PEM_ASN1_read/PEM_ASN1_read_bio

比较底层的PEM读取函数,2)中的函数都调用了这两个函数。

4)    PEM_ASN1_write/PEM_ASN1_write_bio

比较底层的PEM读取函数,1)中的函数都调用了这两个函数。

5  PEM_read_bio

读取PEM文件的各个部分,包括文件类型、头信息以及消息体(base64解码后的结果)。

6  PEM_get_EVP_CIPHER_INFO

根据头信息获取对称算法,并加载初始化向量iv

7)    PEM_do_header

根据对称算法,解密数据。

8)    PEM_bytes_read_bio

获取PEM数据,得到的结果为一个DER编码的明文数据,该函数先后调用了5)6)和7)函数。