summaryrefslogtreecommitdiffstats
path: root/openpgp/src/crypto
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-11-24 10:45:29 +0100
committerJustus Winter <justus@sequoia-pgp.org>2020-12-07 15:57:42 +0100
commit551f29499a3ca9c5b15692ac7877730808dda8cb (patch)
treee84fb3c3d3bb0390d248a874d1fdd192a64dd0d0 /openpgp/src/crypto
parente524ef5fbc97c0c54b8144aed81c383faa099173 (diff)
openpgp: Make serialize::stream::Message Send + Sync.
- See #615.
Diffstat (limited to 'openpgp/src/crypto')
-rw-r--r--openpgp/src/crypto/asymmetric.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/openpgp/src/crypto/asymmetric.rs b/openpgp/src/crypto/asymmetric.rs
index 1934f3be..89941673 100644
--- a/openpgp/src/crypto/asymmetric.rs
+++ b/openpgp/src/crypto/asymmetric.rs
@@ -56,6 +56,17 @@ impl Signer for Box<dyn Signer> {
}
}
+impl Signer for Box<dyn Signer + Send + Sync> {
+ fn public(&self) -> &Key<key::PublicParts, key::UnspecifiedRole> {
+ self.as_ref().public()
+ }
+
+ fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8])
+ -> Result<mpi::Signature> {
+ self.as_mut().sign(hash_algo, digest)
+ }
+}
+
/// Decrypts a message.
///
/// Used by [`PKESK::decrypt`] to decrypt session keys.