我想使用OpenSSL接口读取certifi.crt文件(而不是在命令中)。我不知道该怎么做。如果有人知道,请帮帮我。谢谢。
如果你给出了示例代码,这将非常有帮助。
发布于 2011-04-07 06:09:17
如果".crt“扩展指的是一个PEM文本文件(以-BEGIN CERTIFICATE-开头,后跟base64),那么可以从OpenSSL docs here开始。
下面是一些入门代码(使用ssl链接,例如g++ a.c -lssl):
#include <stdio.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
int main(int argc, char** argv)
{
FILE* f = fopen("certifi.crt", "r");
if (f != NULL)
{
X509* x509 = PEM_read_X509(f, NULL, NULL, NULL);
if (x509 != NULL)
{
char* p = X509_NAME_oneline(X509_get_issuer_name(x509), 0, 0);
if (p)
{
printf("NAME: %s\n", p);
OPENSSL_free(p);
}
X509_free(x509);
}
}
return 0;
}https://stackoverflow.com/questions/5549942
复制相似问题