请问大佬OpenSSL1.0版本时证书链验证函数没问题 升级到OpenSSL1.1后就验证不能通过了 证书都没问题,请问该如何修改

X509 *user = NULL;
X509 *rootca = NULL;
X509 *class2ca = NULL;

X509_STORE *ca_store = NULL;
X509_STORE_CTX *ctx = NULL;
STACK_OF(X509) *ca_stack = NULL;

OpenSSL_add_all_algorithms();

/* x509初始化 */
ca_store = X509_STORE_new();
ctx = X509_STORE_CTX_new();

if (access(ROOTCA_FILE, 0) != 0)
{
    err_msg("Root certificate does not exist!\n");
    return -1;
}
rootca = pem_to_x509(ROOTCA_FILE, BIO_FILE, 0);
/* 加入证书存储区 */
ret = X509_STORE_add_cert(ca_store, rootca);
if ( ret != 1  )
{
    err_msg("X509_STORE_add_cert fail, ret = %d\n", ret);
    return -1;
}
 if (access(DEVELCA_FILE, 0) != 0)
{
    err_msg("Dev certificate does not exist!\n");
    X509_free(rootca);
    return -1;
}
class2ca = pem_to_x509(DEVELCA_FILE, BIO_FILE, 0);

/* 加入证书存储区 */
ret = X509_STORE_add_cert(ca_store, class2ca);
if ( ret != 1  )
{
    err_msg("X509_STORE_add_cert fail, ret = %d\n", ret);
    goto EXIT;
}

/* 需要校验的证书 */

user = pem_to_x509(user_cert, bio_type, cert_size);
if (user == NULL){
    err_msg("Get x509 cert failed from user_cert!");
    X509_free(rootca);
    X509_free(class2ca);
    X509_STORE_free(ca_store);
    return -1;
}
ret = X509_STORE_CTX_init(ctx, ca_store, user, ca_stack);
if ( ret != 1  )
{
    err_msg("X509_STORE_CTX_init fail, ret = %d\n", ret);
    goto EXIT;

}  
ret = X509_verify_cert(ctx);
if (ret <= 0) {
    X509_STORE_CTX_get_error(ctx);
    err_msg("X509_verify_cert fail: %s", X509_verify_cert_error_string(ret));
    goto EXIT;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^