| 1234 | } |
| 1235 | |
| 1236 | const char *md_cert_get_serial_number(const md_cert_t *cert, apr_pool_t *p) |
| 1237 | { |
| 1238 | const char *s = ""; |
| 1239 | BIGNUM *bn; |
| 1240 | const char *serial; |
| 1241 | const ASN1_INTEGER *ai = X509_get_serialNumber(cert->x509); |
| 1242 | if (ai) { |
| 1243 | bn = ASN1_INTEGER_to_BN(ai, NULL); |
| 1244 | serial = BN_bn2hex(bn); |
| 1245 | s = apr_pstrdup(p, serial); |
| 1246 | OPENSSL_free((void*)serial); |
| 1247 | BN_free(bn); |
| 1248 | } |
| 1249 | return s; |
| 1250 | } |
| 1251 | |
| 1252 | int md_certs_are_equal(const md_cert_t *a, const md_cert_t *b) |
| 1253 | { |
no outgoing calls
no test coverage detected