|
@ -1,240 +0,0 @@ |
|
|
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 |
|
|
|
|
|
|
|
|
|