diff options
author | jsing <> | 2018-02-20 17:09:20 +0000 |
---|---|---|
committer | jsing <> | 2018-02-20 17:09:20 +0000 |
commit | ffdc588fe5b7d401c01aa2c6d688fd0eb0c26cb3 (patch) | |
tree | 2706e0b887a1b5476913f524a8d358383daf2462 /src | |
parent | 3c06749399ec9bdbbde802f1c5aef85cfd04c42e (diff) | |
download | openbsd-ffdc588fe5b7d401c01aa2c6d688fd0eb0c26cb3.tar.gz openbsd-ffdc588fe5b7d401c01aa2c6d688fd0eb0c26cb3.tar.bz2 openbsd-ffdc588fe5b7d401c01aa2c6d688fd0eb0c26cb3.zip |
Provide X509_NAME_get0_der().
From OpenSSL.
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/Symbols.list | 1 | ||||
-rw-r--r-- | src/lib/libcrypto/asn1/x_name.c | 15 | ||||
-rw-r--r-- | src/lib/libcrypto/x509/x509.h | 3 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index f446e08ea7..022176264e 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
@@ -2695,6 +2695,7 @@ X509_NAME_digest | |||
2695 | X509_NAME_dup | 2695 | X509_NAME_dup |
2696 | X509_NAME_entry_count | 2696 | X509_NAME_entry_count |
2697 | X509_NAME_free | 2697 | X509_NAME_free |
2698 | X509_NAME_get0_der | ||
2698 | X509_NAME_get_entry | 2699 | X509_NAME_get_entry |
2699 | X509_NAME_get_index_by_NID | 2700 | X509_NAME_get_index_by_NID |
2700 | X509_NAME_get_index_by_OBJ | 2701 | X509_NAME_get_index_by_OBJ |
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 @@ | |||
1 | /* $OpenBSD: x_name.c,v 1.33 2017/01/29 17:49:22 beck Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.34 2018/02/20 17:09:20 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -640,3 +640,16 @@ X509_NAME_set(X509_NAME **xn, X509_NAME *name) | |||
640 | } | 640 | } |
641 | return (*xn != NULL); | 641 | return (*xn != NULL); |
642 | } | 642 | } |
643 | |||
644 | int | ||
645 | X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen) | ||
646 | { | ||
647 | /* Make sure encoding is valid. */ | ||
648 | if (i2d_X509_NAME(nm, NULL) <= 0) | ||
649 | return 0; | ||
650 | if (pder != NULL) | ||
651 | *pder = (unsigned char *)nm->bytes->data; | ||
652 | if (pderlen != NULL) | ||
653 | *pderlen = nm->bytes->length; | ||
654 | return 1; | ||
655 | } | ||
diff --git a/src/lib/libcrypto/x509/x509.h b/src/lib/libcrypto/x509/x509.h index 26e71ee40e..6f0f5f4dec 100644 --- a/src/lib/libcrypto/x509/x509.h +++ b/src/lib/libcrypto/x509/x509.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509.h,v 1.31 2018/02/20 17:06:19 jsing Exp $ */ | 1 | /* $OpenBSD: x509.h,v 1.32 2018/02/20 17:09:20 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -758,6 +758,7 @@ void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); | |||
758 | int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); | 758 | int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); |
759 | 759 | ||
760 | X509_NAME *X509_NAME_dup(X509_NAME *xn); | 760 | X509_NAME *X509_NAME_dup(X509_NAME *xn); |
761 | int X509_NAME_get0_der(X509_NAME *nm, const unsigned char **pder, size_t *pderlen); | ||
761 | X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); | 762 | X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); |
762 | 763 | ||
763 | int X509_cmp_time(const ASN1_TIME *s, time_t *t); | 764 | int X509_cmp_time(const ASN1_TIME *s, time_t *t); |