openssl:如何读取.crt文件..?

时间:2011-04-05 09:41:14

标签: c certificate openssl x509 readfile

我想使用OpenSSL API(不在命令中)阅读certifi.crt文件。我不知道该怎么做。如果有人知道,请帮助我。谢谢。

如果您提供非常有用的示例代码。

1 个答案:

答案 0 :(得分:4)

如果“.crt”扩展名引用PEM文本文件(以----- BEGIN CERTIFICATE -----后跟base64开头),则开始使用OpenSSL docs here。< / p>

这里有一些代码可以帮助您入门(与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;
}