openssl中证书加载过程

这篇博客详细解析了OpenSSL中SSL_CTX结构中涉及证书的部分,包括cert_store、client_CA和cert字段的含义。重点介绍了加载证书的函数X509_STORE_load_locations的工作原理,如何根据文件名或路径加载PEM格式的证书,并探讨了X509_FILETYPE_PEM和X509_FILETYPE_ASN1的区别。此外,还概述了X509_STORE结构及其在证书验证过程中的作用。
摘要由CSDN通过智能技术生成

首先看SSL_CTX的结构中跟证书相关的字段(其实结构里面的内容非常多)

 

 

struct ssl_ctx_st
{
    struct x509_store_st /* X509_STORE */ *cert_store;
    STACK_OF(X509_NAME) *client_CA;
    struct cert_st /* CERT */ *cert;

    STACK_OF(X509_LOOKUP) *get_cert_methods; //获取证书的方法,根据是指明文件名,还是文件路径来加载具体的函数。
}


其中cert_store里面存放的是CA和CRL x509对象;client_CA中加载的签约终端证书CA的subjectName字段名;cert中存在的则是一对密钥了,结构分别为x509和EVP_PKEY。

加载证书的函数:


int X509_STORE_load_locations(X509_STORE *ctx, const char *file,
        const char *path)
    {
    X509_LOOKUP *lookup;

    if (file != NULL)
        {
        lookup=X509_STORE_add_lookup(ctx,X509_LOOKUP_file());
        if (lookup == NULL) return(0);
        if (X509_LOOKUP_load_file(lookup,file,X509_FILETYPE_PEM) != 1)
            return(0);

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值