summaryrefslogtreecommitdiffstats
path: root/src/openvpn/ssl_verify_openssl.c
diff options
context:
space:
mode:
authorSteffan Karger <steffan@karger.me>2014-04-28 21:50:22 +0200
committerGert Doering <gert@greenie.muc.de>2014-04-30 13:06:06 +0200
commit142d4dd2e98317a03ca9827f03fc4643fe922834 (patch)
tree24ee2e69ff78909560688a08e0be5ee40ece0883 /src/openvpn/ssl_verify_openssl.c
parenta291825f7145679e6d1806029290402d0430b465 (diff)
downloadopenvpn-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.c10
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)
{