Openssl 使用libcrypto(libressl)颁发装载证书

Openssl 使用libcrypto(libressl)颁发装载证书,openssl,libressl,Openssl,Libressl,我正在尝试使用libcrypto加载证书。证书是使用keytool和openssl生成的。 这是我的密码 #include <stdio.h> #include <openssl/ssl.h> int main(int argc, char **argv) { SSL* ssl; SSL_CTX* ctx; SSL_library_init(); SSL_load_error_strings();

我正在尝试使用libcrypto加载证书。证书是使用keytool和openssl生成的。 这是我的密码

#include <stdio.h>
#include <openssl/ssl.h>

int main(int argc, char **argv)
{
        SSL* ssl;
        SSL_CTX* ctx;
        SSL_library_init();
        SSL_load_error_strings();
        OpenSSL_add_all_algorithms();
        ctx = SSL_CTX_new(SSLv23_server_method());

        char filename[256];
        // https://github.com/apache/qpid-proton/blob/master/python/tests/proton_tests/ssl_db/server-certificate.pem
        sprintf(filename, "%s", "server-certificate.pem");
        char keyfile[256];
        https://github.com/apache/qpid-proton/blob/master/python/tests/proton_tests/ssl_db/server-private-key.pem
        sprintf(keyfile, "%s", "server-private-key.pem'");
        int retval =    SSL_CTX_use_certificate_chain_file(ctx, filename);
        unsigned long err = ERR_peek_last_error();
        printf("return value = %d\n", retval);
        ERR_print_errors_fp(stdout);

        return 0;
}
证书和私钥可在

知道我为什么无法加载此证书吗?
libressl2.8.0。

它在macOS上使用libressl2.8.0,对我来说没有任何更改。你确定你在用你认为你在用的东西吗?文件ssl_rsa.c似乎不存在于LibreSSL中,但它存在于OpenSSL中。也许您已经使用其中一个进行了构建,但在运行时正在动态链接另一个库?它也适用于OpenSSL 1.0.2g。可能您复制的证书文件不正确?仔细检查文件。
139751662126752:error:14FFF0F7:SSL routines:(UNKNOWN)SSL_internal:unknown certificate type:ssl_rsa.c:373: