|
|
- 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
-
|