証明書を生成しましたが、国、有効性、公開鍵などの情報を証明書から抽出できるようにしたいと考えています。証明書から取得したこの情報を、C プログラムに保存した他の情報と比較する必要があります。
このような関数を使用すると、証明書情報が出力されることがわかっています。
void print_certificate(const char* cert)
{
X509 *x509 = NULL;
BIO *i = BIO_new(BIO_s_file());
BIO *o = BIO_new_fp(stdout,BIO_NOCLOSE);
if((BIO_read_filename(i, cert) <= 0) ||
((x509 = PEM_read_bio_X509_AUX(i, NULL, NULL, NULL)) == NULL)) {
printf("Bad certificate, unable to read\n");
}
X509_print_ex(o, x509, XN_FLAG_COMPAT, X509_FLAG_COMPAT);
if(x509)
X509_free(x509);
}
しかし、私が欲しいのはその情報の一部だけです。どのようにそれを行うことができますか?
ありがとう