Five commits from upstream were applied to v. 7.8-p1: 482d23bc upstream: hold our collective noses and use the openssl-1.1.x API in 48f54b9d adapt -portable to OpenSSL 1.1x API 86e0a9f3 upstream: use only openssl-1.1.x API here too a3fd8074 upstream: missed a bit of openssl-1.0.x API in this unittest d64e7852 add compat header Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
240 lines
5.8 KiB
Diff
240 lines
5.8 KiB
Diff
From d100d85cc797d9871e0c34a09104b02b0452b4f4 Mon Sep 17 00:00:00 2001
|
|
From: "djm@openbsd.org" <djm@openbsd.org>
|
|
Date: Thu, 13 Sep 2018 09:03:20 +0000
|
|
Subject: [PATCH 4/5] upstream: missed a bit of openssl-1.0.x API in this
|
|
unittest
|
|
|
|
OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9
|
|
---
|
|
regress/unittests/sshkey/common.c | 79 +++++++++++++++++++++++++++++++++-
|
|
regress/unittests/sshkey/common.h | 11 ++++-
|
|
regress/unittests/sshkey/test_file.c | 13 +++---
|
|
regress/unittests/sshkey/test_sshkey.c | 57 +-----------------------
|
|
4 files changed, 96 insertions(+), 64 deletions(-)
|
|
|
|
diff --git a/regress/unittests/sshkey/common.c b/regress/unittests/sshkey/common.c
|
|
index b598f05c..548da684 100644
|
|
--- a/regress/unittests/sshkey/common.c
|
|
+++ b/regress/unittests/sshkey/common.c
|
|
@@ -1,4 +1,4 @@
|
|
-/* $OpenBSD: common.c,v 1.2 2015/01/08 13:10:58 djm Exp $ */
|
|
+/* $OpenBSD: common.c,v 1.3 2018/09/13 09:03:20 djm Exp $ */
|
|
/*
|
|
* Helpers for key API tests
|
|
*
|
|
@@ -82,3 +82,80 @@ load_bignum(const char *name)
|
|
return ret;
|
|
}
|
|
|
|
+const BIGNUM *
|
|
+rsa_n(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *n = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->rsa, NULL);
|
|
+ RSA_get0_key(k->rsa, &n, NULL, NULL);
|
|
+ return n;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+rsa_e(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *e = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->rsa, NULL);
|
|
+ RSA_get0_key(k->rsa, NULL, &e, NULL);
|
|
+ return e;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+rsa_p(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *p = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->rsa, NULL);
|
|
+ RSA_get0_factors(k->rsa, &p, NULL);
|
|
+ return p;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+rsa_q(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *q = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->rsa, NULL);
|
|
+ RSA_get0_factors(k->rsa, NULL, &q);
|
|
+ return q;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+dsa_g(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *g = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->dsa, NULL);
|
|
+ DSA_get0_pqg(k->dsa, NULL, NULL, &g);
|
|
+ return g;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+dsa_pub_key(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *pub_key = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->dsa, NULL);
|
|
+ DSA_get0_key(k->dsa, &pub_key, NULL);
|
|
+ return pub_key;
|
|
+}
|
|
+
|
|
+const BIGNUM *
|
|
+dsa_priv_key(struct sshkey *k)
|
|
+{
|
|
+ const BIGNUM *priv_key = NULL;
|
|
+
|
|
+ ASSERT_PTR_NE(k, NULL);
|
|
+ ASSERT_PTR_NE(k->dsa, NULL);
|
|
+ DSA_get0_key(k->dsa, NULL, &priv_key);
|
|
+ return priv_key;
|
|
+}
|
|
+
|
|
diff --git a/regress/unittests/sshkey/common.h b/regress/unittests/sshkey/common.h
|
|
index bf7d19dc..7a514fdc 100644
|
|
--- a/regress/unittests/sshkey/common.h
|
|
+++ b/regress/unittests/sshkey/common.h
|
|
@@ -1,4 +1,4 @@
|
|
-/* $OpenBSD: common.h,v 1.1 2014/06/24 01:14:18 djm Exp $ */
|
|
+/* $OpenBSD: common.h,v 1.2 2018/09/13 09:03:20 djm Exp $ */
|
|
/*
|
|
* Helpers for key API tests
|
|
*
|
|
@@ -14,3 +14,12 @@ struct sshbuf *load_text_file(const char *name);
|
|
/* Load a bignum from a file */
|
|
BIGNUM *load_bignum(const char *name);
|
|
|
|
+/* Accessors for key components */
|
|
+const BIGNUM *rsa_n(struct sshkey *k);
|
|
+const BIGNUM *rsa_e(struct sshkey *k);
|
|
+const BIGNUM *rsa_p(struct sshkey *k);
|
|
+const BIGNUM *rsa_q(struct sshkey *k);
|
|
+const BIGNUM *dsa_g(struct sshkey *k);
|
|
+const BIGNUM *dsa_pub_key(struct sshkey *k);
|
|
+const BIGNUM *dsa_priv_key(struct sshkey *k);
|
|
+
|
|
diff --git a/regress/unittests/sshkey/test_file.c b/regress/unittests/sshkey/test_file.c
|
|
index 99b7e21c..596c166b 100644
|
|
--- a/regress/unittests/sshkey/test_file.c
|
|
+++ b/regress/unittests/sshkey/test_file.c
|
|
@@ -1,4 +1,5 @@
|
|
/* $OpenBSD: test_file.c,v 1.6 2017/04/30 23:33:48 djm Exp $ */
|
|
+/* Incorporates changes from 1.8 */
|
|
/*
|
|
* Regress test for sshkey.h key management API
|
|
*
|
|
@@ -60,9 +61,9 @@ sshkey_file_tests(void)
|
|
a = load_bignum("rsa_1.param.n");
|
|
b = load_bignum("rsa_1.param.p");
|
|
c = load_bignum("rsa_1.param.q");
|
|
- ASSERT_BIGNUM_EQ(k1->rsa->n, a);
|
|
- ASSERT_BIGNUM_EQ(k1->rsa->p, b);
|
|
- ASSERT_BIGNUM_EQ(k1->rsa->q, c);
|
|
+ ASSERT_BIGNUM_EQ(rsa_n(k1), a);
|
|
+ ASSERT_BIGNUM_EQ(rsa_p(k1), b);
|
|
+ ASSERT_BIGNUM_EQ(rsa_q(k1), c);
|
|
BN_free(a);
|
|
BN_free(b);
|
|
BN_free(c);
|
|
@@ -151,9 +152,9 @@ sshkey_file_tests(void)
|
|
a = load_bignum("dsa_1.param.g");
|
|
b = load_bignum("dsa_1.param.priv");
|
|
c = load_bignum("dsa_1.param.pub");
|
|
- ASSERT_BIGNUM_EQ(k1->dsa->g, a);
|
|
- ASSERT_BIGNUM_EQ(k1->dsa->priv_key, b);
|
|
- ASSERT_BIGNUM_EQ(k1->dsa->pub_key, c);
|
|
+ ASSERT_BIGNUM_EQ(dsa_g(k1), a);
|
|
+ ASSERT_BIGNUM_EQ(dsa_priv_key(k1), b);
|
|
+ ASSERT_BIGNUM_EQ(dsa_pub_key(k1), c);
|
|
BN_free(a);
|
|
BN_free(b);
|
|
BN_free(c);
|
|
diff --git a/regress/unittests/sshkey/test_sshkey.c b/regress/unittests/sshkey/test_sshkey.c
|
|
index a32d2884..deeb23a0 100644
|
|
--- a/regress/unittests/sshkey/test_sshkey.c
|
|
+++ b/regress/unittests/sshkey/test_sshkey.c
|
|
@@ -1,5 +1,5 @@
|
|
/* $OpenBSD: test_sshkey.c,v 1.14 2018/07/13 02:13:19 djm Exp $ */
|
|
-/* Incorporates changes from 1.16 */
|
|
+/* Incorporates changes from 1.16 and 1.17 */
|
|
/*
|
|
* Regress test for sshkey.h key management API
|
|
*
|
|
@@ -174,61 +174,6 @@ get_private(const char *n)
|
|
return ret;
|
|
}
|
|
|
|
-static const BIGNUM *
|
|
-rsa_n(struct sshkey *k)
|
|
-{
|
|
- const BIGNUM *n = NULL;
|
|
-
|
|
- ASSERT_PTR_NE(k, NULL);
|
|
- ASSERT_PTR_NE(k->rsa, NULL);
|
|
- RSA_get0_key(k->rsa, &n, NULL, NULL);
|
|
- return n;
|
|
-}
|
|
-
|
|
-static const BIGNUM *
|
|
-rsa_e(struct sshkey *k)
|
|
-{
|
|
- const BIGNUM *e = NULL;
|
|
-
|
|
- ASSERT_PTR_NE(k, NULL);
|
|
- ASSERT_PTR_NE(k->rsa, NULL);
|
|
- RSA_get0_key(k->rsa, NULL, &e, NULL);
|
|
- return e;
|
|
-}
|
|
-
|
|
-static const BIGNUM *
|
|
-rsa_p(struct sshkey *k)
|
|
-{
|
|
- const BIGNUM *p = NULL;
|
|
-
|
|
- ASSERT_PTR_NE(k, NULL);
|
|
- ASSERT_PTR_NE(k->rsa, NULL);
|
|
- RSA_get0_factors(k->rsa, &p, NULL);
|
|
- return p;
|
|
-}
|
|
-
|
|
-static const BIGNUM *
|
|
-dsa_g(struct sshkey *k)
|
|
-{
|
|
- const BIGNUM *g = NULL;
|
|
-
|
|
- ASSERT_PTR_NE(k, NULL);
|
|
- ASSERT_PTR_NE(k->dsa, NULL);
|
|
- DSA_get0_pqg(k->dsa, NULL, NULL, &g);
|
|
- return g;
|
|
-}
|
|
-
|
|
-static const BIGNUM *
|
|
-dsa_priv_key(struct sshkey *k)
|
|
-{
|
|
- const BIGNUM *priv_key = NULL;
|
|
-
|
|
- ASSERT_PTR_NE(k, NULL);
|
|
- ASSERT_PTR_NE(k->dsa, NULL);
|
|
- DSA_get0_key(k->dsa, NULL, &priv_key);
|
|
- return priv_key;
|
|
-}
|
|
-
|
|
void
|
|
sshkey_tests(void)
|
|
{
|
|
--
|
|
2.16.4
|
|
|