Skip to content

Commit 68347f4

Browse files
committed
Implement Keypair traits for SigningKeys
Signed-off-by: Dmitry Baryshkov <[email protected]>
1 parent a543eea commit 68347f4

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

src/pkcs1v15.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use rand_core::{CryptoRng, RngCore};
99
#[cfg(feature = "hazmat")]
1010
use signature::hazmat::{PrehashSigner, PrehashVerifier};
1111
use signature::{
12-
DigestSigner, DigestVerifier, RandomizedDigestSigner, RandomizedSigner,
12+
DigestSigner, DigestVerifier, Keypair, RandomizedDigestSigner, RandomizedSigner,
1313
Signature as SignSignature, Signer, Verifier,
1414
};
1515
use subtle::{Choice, ConditionallySelectable, ConstantTimeEq};
@@ -428,6 +428,13 @@ where
428428
}
429429
}
430430

431+
impl<D> Keypair<Signature> for SigningKey<D>
432+
where
433+
D: Digest,
434+
{
435+
type VerifyingKey = VerifyingKey<D>;
436+
}
437+
431438
impl<D> Signer<Signature> for SigningKey<D>
432439
where
433440
D: Digest,

src/pss.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ use rand_core::{CryptoRng, RngCore};
1010
#[cfg(feature = "hazmat")]
1111
use signature::hazmat::{PrehashVerifier, RandomizedPrehashSigner};
1212
use signature::{
13-
DigestVerifier, RandomizedDigestSigner, RandomizedSigner, Signature as SignSignature, Verifier,
13+
DigestVerifier, Keypair, RandomizedDigestSigner, RandomizedSigner, Signature as SignSignature,
14+
Verifier,
1415
};
1516
use subtle::ConstantTimeEq;
1617

@@ -626,6 +627,13 @@ where
626627
}
627628
}
628629

630+
impl<D> Keypair<Signature> for SigningKey<D>
631+
where
632+
D: Digest,
633+
{
634+
type VerifyingKey = VerifyingKey<D>;
635+
}
636+
629637
impl<D> AsRef<VerifyingKey<D>> for SigningKey<D>
630638
where
631639
D: Digest,
@@ -799,6 +807,13 @@ where
799807
}
800808
}
801809

810+
impl<D> Keypair<Signature> for BlindedSigningKey<D>
811+
where
812+
D: Digest,
813+
{
814+
type VerifyingKey = VerifyingKey<D>;
815+
}
816+
802817
impl<D> RandomizedSigner<Signature> for BlindedSigningKey<D>
803818
where
804819
D: Digest + FixedOutputReset,

0 commit comments

Comments
 (0)