From 615b244ae876342960fe0a4b0e85ea0d2ec42a5d Mon Sep 17 00:00:00 2001 From: qmuntal Date: Wed, 5 Jul 2023 15:28:45 +0200 Subject: [PATCH] add test cases Signed-off-by: qmuntal --- key.go | 4 ---- key_test.go | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/key.go b/key.go index 37afc24..d2230fd 100644 --- a/key.go +++ b/key.go @@ -572,10 +572,6 @@ func (k *Key) PrivateKey() (crypto.PrivateKey, error) { return nil, err } - if len(k.D) == 0 { - return nil, ErrNotPrivKey - } - switch alg { case AlgorithmES256, AlgorithmES384, AlgorithmES512: // RFC8152 allows omitting X and Y from private keys; diff --git a/key_test.go b/key_test.go index c2d2979..a65598b 100644 --- a/key_test.go +++ b/key_test.go @@ -612,6 +612,12 @@ func TestKey_PrivateKey(t *testing.T) { _, err = k.PrivateKey() assertEqualError(t, err, ErrNotPrivKey.Error()) + k.KeyType = KeyTypeEC2 + k.Curve = CurveP256 + + _, err = k.PrivateKey() + assertEqualError(t, err, ErrNotPrivKey.Error()) + k = Key{ KeyType: KeyTypeOKP, Curve: CurveEd25519, @@ -621,11 +627,19 @@ func TestKey_PrivateKey(t *testing.T) { _, err = k.PrivateKey() assertEqualError(t, err, ErrOKPNoPub.Error()) + k.Curve = CurveInvalid + _, err = k.PrivateKey() + assertEqualError(t, err, ErrInvalidKey.Error()) + k.KeyType = KeyTypeEC2 k.Curve = CurveP256 _, err = k.PrivateKey() assertEqualError(t, err, ErrEC2NoPub.Error()) + + k.Curve = CurveInvalid + _, err = k.PrivateKey() + assertEqualError(t, err, ErrInvalidKey.Error()) } func TestKey_PublicKey(t *testing.T) {