Как проверить формат сертификата или файла CRL с помощью OpenSSL API? - PullRequest
1 голос
/ 29 мая 2020

Я пишу фрагмент кода, который может принимать как закодированные сертификаты PEM и DER, так и файлы CRL и анализировать их во внутренние структуры. Есть ли способ программно проверить формат входного файла с помощью openSSL?

Для чтения файлов PEM используется PEM_read_X509(), а для чтения файлов DER используется d2i_X509(). Я хочу переключаться между ними, используя условие if.


Чтобы быть более конкретным c,

У меня есть файл CRL, путь к которому хранится в строке с именем "CRLFileName".

crlbio = BIO_new(BIO_s_file());
if (BIO_read_filename(crlbio, CRLFileName.c_str()) <= 0)
{
        cout<<"Error loading CRL into memory."<<endl;
}

X509_CRL *crl = d2i_X509_CRL_bio(crlbio,NULL);
//if (format == FORMAT_PEM) crl=PEM_read_bio_X509_CRL(bio,NULL,NULL,NULL);

Я ищу функцию, которая может принимать crlbio и возвращать FORMAT_PEM или FORMAT_DER, чтобы я мог использовать правильную функцию загрузки (d2i_X509_CRL_bio или PEM_read_bio_X509_CRL) в зависимости от формата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...