gpt4 book ai didi

openssl - 无法使用openssl从x509证书读取序列号(ASN1_INTEGER)

转载 作者:行者123 更新时间:2023-12-02 04:04:07 25 4
gpt4 key购买 nike

如何使用Openssl从x509证书中读取证书详细信息(序列号,颁发者,主题详细信息)。

我使用PKCS12_parse()解析了P12文件,然后从获得的x509证书中以ASN1_INTEGER格式检索了序列号。但是我如何解析它以便可以读取它。

最佳答案

我尝试过这种方式..并且可以读取证书的值。

   bio_out=BIO_new_fp(stdout,BIO_NOCLOSE);   //here instead of stdout, a file pointer can also be given
x509 = sk_X509_value(certs,0);
X509_NAME_print_ex(bio_out,X509_get_issuer_name(x509), XN_FLAG_COMPAT, X509_FLAG_COMPAT);


//Issuer Name
BIO_printf(bio_out,"\n");
unsigned long nmflag = 0;
CryptoUtility *cryptoU = [[CryptoUtility alloc] init];
[cryptoU print_name:bio_out title:"Verify : issuer= " x509name:X509_get_issuer_name(x509) flag:nmflag];
BIO_printf(bio_out,"\n");

//Subject Name
BIO_printf(bio_out,"\n");
[cryptoU print_name:bio_out title:"Verify : subject= " x509name:X509_get_subject_name(x509) flag:nmflag];
BIO_printf(bio_out,"\n");

//Serial NO
BIO_printf(bio_out,"\n");
BIO_printf(bio_out,"Verify : serial=");
i2a_ASN1_INTEGER(bio_out, X509_get_serialNumber(x509));
BIO_printf(bio_out,"\n");
BIO_printf(bio_out,"\n");
//NSLog(@"Issuer name %@",X509_get_issuer_name(x509));

//Common Name
char peer_CN[256];
X509_NAME_get_text_by_NID(X509_get_subject_name(x509),NID_commonName, peer_CN, 256);
NSLog(@"Verify : comman name %s",peer_CN);

我希望这会有所帮助。

关于openssl - 无法使用openssl从x509证书读取序列号(ASN1_INTEGER),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8592323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com