diff options
author | Steffan Karger <steffan@karger.me> | 2014-04-28 21:50:22 +0200 |
---|---|---|
committer | Gert Doering <gert@greenie.muc.de> | 2014-04-30 13:06:06 +0200 |
commit | 142d4dd2e98317a03ca9827f03fc4643fe922834 (patch) | |
tree | 24ee2e69ff78909560688a08e0be5ee40ece0883 /src/openvpn/ssl_verify_openssl.c | |
parent | a291825f7145679e6d1806029290402d0430b465 (diff) | |
download | openvpn-142d4dd2e98317a03ca9827f03fc4643fe922834.tar.gz openvpn-142d4dd2e98317a03ca9827f03fc4643fe922834.tar.xz openvpn-142d4dd2e98317a03ca9827f03fc4643fe922834.zip |
Make serial env exporting consistent amongst OpenSSL and PolarSSL builds.
This changes the representation of the tls_serial_{n} environment variable
from hex to decimal for PolarSSL builds, to match OpenSSL build behaviour.
Because hex representation for serials makes sense too, and to ease
transition for PolarSSL users, added tls_serial_hex_{n} that exports the
serial in hex represenation for both crypto library backends.
Signed-off-by: Steffan Karger <steffan@karger.me>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <535EB49E.5090809@karger.me>
URL: http://article.gmane.org/gmane.network.openvpn.devel/8664
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Diffstat (limited to 'src/openvpn/ssl_verify_openssl.c')
-rw-r--r-- | src/openvpn/ssl_verify_openssl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/openvpn/ssl_verify_openssl.c b/src/openvpn/ssl_verify_openssl.c index 91a42b2..19982ae 100644 --- a/src/openvpn/ssl_verify_openssl.c +++ b/src/openvpn/ssl_verify_openssl.c @@ -220,7 +220,7 @@ x509_get_username (char *common_name, int cn_len, } char * -x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc) +backend_x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc) { ASN1_INTEGER *asn1_i; BIGNUM *bignum; @@ -238,6 +238,14 @@ x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc) return serial; } +char * +backend_x509_get_serial_hex (openvpn_x509_cert_t *cert, struct gc_arena *gc) +{ + const ASN1_INTEGER *asn1_i = X509_get_serialNumber(cert); + + return format_hex_ex(asn1_i->data, asn1_i->length, 0, 1, ":", gc); +} + unsigned char * x509_get_sha1_hash (X509 *cert, struct gc_arena *gc) { |