0

我正在尝试在我的 JNI 代码中为我的 android 应用程序加载证书。有没有人尝试过类似的事情?我知道 Open-SSL 具有需要证书文件的功能。我发现您可以以这种方式将证书存储在内存中。我需要此功能,因为我想对证书进行硬编码。现在这个代码片段应该完成这项工作,但它没有。

BIO* mem_bio = BIO_new_mem_buf(certificate, strlen(certificate));
X509* cert = PEM_read_bio_X509_AUX(mem_bio,NULL,NULL,NULL);
X509_STORE_add_cert(ctx->cert_store,cert);
BIO_free(mem_bio);
X509_free(cert);
(ctx is a handle to my SSL_CTX)

我对 C 编程相当陌生,我错过了什么吗?

谢谢。

4

1 回答 1

0

这是一个愚蠢的错误。我试图构建的共享库没有与我正在使用的 libssl.a 和 libcrypto.a 静态库正确链接。

我在查看输出形式“nm”命令 nm 后发现了这一点,它表明这两个静态库提供的所有函数都是未定义的。

于 2012-07-16T17:08:01.810 回答