Base64编码就是把二进制数据转换为可见的ASCII字符。
主要函数
1、
VoidEVP_EncodeInit(EVP_ENCODE_CTX *ctx);
参数ctx:[IN]用于保存Base64编码的的状态。
2、
VoidEVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int*out1, const unsigned char *in, int in1);
功能:进行Base64数据编码,
3、
VoidEVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int*out1);
函数功能:编码结束,输出最后剩余的编码数据。
4、
VoidEVP_EncodeBlock(unsigned char *t, const unsigned char *f, intn);
功能:进行Base64数据编码,
参数:t:[OUT]编码后的数据。F:[IN]待编码的数据。N:[IN]待编码数据的长度
返回值:编码后的数据长度。
5、
VoidEVP_DecodeInit(EVP_ENCODE_CTX *ctx);
参数ctx:[IN]用于保存Base64解码的的状态。
6、
VoidEVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int*out1, const unsigned char *in, int in1);
功能:进行Base64数据解码,
7、
VoidEVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int*out1);
函数功能:解码结束,输出最后剩余的解码数据。
8、
VoidEVP_DecodeBlock(unsigned char *t, const unsigned char *f, intn);
功能:进行Base64数据解码,
参数:t:[OUT]解码后的数据。F:[IN]待解码的数据。N:[IN]待解码数据的长度
返回值:解码后的数据长度。
嵌入式 OpenSSL 常用函数——
现有的证书大都采用X。509规范,
OpenSSL实现了对X。509数字证书的所有操作。包括签发数字证书、解析和验证证书等。
涉及证书操作的主要函数有验证证书(验证证书链、有效期、CRL)、解析证书(获得证书的版本、序列号、颁发者信息、主题信息、公钥、有效期等)。
主要函数
1、
X509 *d2i_X509(X509 **cert, unsigned char **d, int len);
函数功能:把一个DER编码的证书数据转化成OpenSSL内部结构体。
参数:cert:[OUT]X509结构体。
返回值:编码后的X509结构体数据
2、
#defineX509_get_version(x)
参数:x:[IN]X509*结构体数据结构。
返回值:证书版本,数据类型“LONG”
3、
ASN1_INTEGER *X509_get_serialNumber(X509 *x);
返回值:证书序列号,数据类型“ASN1_INTEGER”.
4、
X509_NAME *X509_get_issuer_name(X509 *a);
注*:X509_NAME结构体包括多个X509_NAME_ENTRY结构体。X509_NAME_ENTRY保存了颁发者的信息,这些信息包括对象和值(object
5、
X509_NAME *X509_get_subject_name(X509 *a);
6、
#defineX509_get_notBefore(x)
返回值:
7、
#defineX509_get_notAfter(x)
8、
EVP_PKEY *X509_get_pubkey(X509 *x);
9、
X509_STORE *X509_STORE_new(void);
Void X509_STORE_free(X509_STORE *v);
函数功能:创建和释放一个X509_STORE结构体,
10、向证书存储区添加证书
Int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
函数功能:添加信任的根证书到证书存储区。
返回值:1成功,否则为0
11、向证书存储区添加证书吊销列表
Int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
功能:添加CRL到证书存储区。
参数:x:[IN]证书吊销列表。Ctx:[IN]证书存储区。
返回值:1成功,
12、创建证书存储区上下文环境函数
13、释放证书存储区上下文环境
14、初始化证书存储区上下文环境函数
函数功能:初始化证书存储区上下文环境,设置根证书、待验证的证书、CA证书链。
15、验证证书函数