From ffdc588fe5b7d401c01aa2c6d688fd0eb0c26cb3 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Tue, 20 Feb 2018 17:09:20 +0000 Subject: Provide X509_NAME_get0_der(). From OpenSSL. --- src/lib/libcrypto/asn1/x_name.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/lib/libcrypto/asn1') diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c index 30fef39fb7..4bf184252f 100644 --- a/src/lib/libcrypto/asn1/x_name.c +++ b/src/lib/libcrypto/asn1/x_name.c @@ -1,4 +1,4 @@ -/* $OpenBSD: x_name.c,v 1.33 2017/01/29 17:49:22 beck Exp $ */ +/* $OpenBSD: x_name.c,v 1.34 2018/02/20 17:09:20 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -640,3 +640,16 @@ X509_NAME_set(X509_NAME **xn, X509_NAME *name) } return (*xn != NULL); } + +int +X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen) +{ + /* Make sure encoding is valid. */ + if (i2d_X509_NAME(nm, NULL) <= 0) + return 0; + if (pder != NULL) + *pder = (unsigned char *)nm->bytes->data; + if (pderlen != NULL) + *pderlen = nm->bytes->length; + return 1; +} -- cgit v1.2.3-55-g6feb