openssl的pkcs12实现在crypto/pkcs12目录,有如下源码:
Ø p12_add.c:处理PKCS12_SAFEBAG,PKCS12_SAFEBAG用于存放证书和私钥相关的信息;
Ø p12_attr.c:属性处理;
Ø p12_crt:生成一个完整的pkcs12;
Ø p12_init.c:构造一个pkcs12数据结构;
Ø p12_kiss.c:解析pkcs12结构,获取证书和私钥等信息;
Ø p12_npas:设置新口令;
Ø p12_p8e.c:加密处理用户私钥(pkcs8格式);
Ø p12_p8d.c:解密出用户私钥;
Ø pk12err.c:错误处理;
Ø p12_asn.c:pkcs12各个数据结构的DER编解码实现;
Ø p12_crpt.c:pkcs12的pbe(基于口令的加密)函数;
Ø p12_decr.c.c:pkcs12的pbe解密;
Ø p12_key.c:根据用户口令生成对称密钥;
Ø p12_mutl.c:pkcs12的MAC信息处理;
p12_utl.c:一些通用的函数。