int x509_get_serial_num(X509 *x)
{
ASN1_INTEGER *bs = NULL;
char *res = NULL;
BIGNUM *bn = NULL;
bs = X509_get_serialNumber(x);
if (bs->length == 0) {
printf("X509_get_serialNumber() length=0 error!\n");
return -1;
}
bn = ASN1_INTEGER_to_BN(bs, NULL);
res = BN_bn2hex(bn);
printf("serial = %s\n", res);
OPENSSL_free(res);
res = NULL;
BN_free(bn);
bn = NULL;
return 0 ;
}