From 61b04eb5fda0d1e94f673ad1c11f328a318bb09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Fri, 11 Oct 2019 22:19:15 +0200 Subject: Identity merging and verification --- src/PubKey.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/PubKey.hs') diff --git a/src/PubKey.hs b/src/PubKey.hs index 6dc8080..d7134c8 100644 --- a/src/PubKey.hs +++ b/src/PubKey.hs @@ -2,7 +2,7 @@ module PubKey ( PublicKey, SecretKey, KeyPair(generateKeys), loadKey, Signature(sigKey), Signed, signedData, signedSignature, - sign, signAdd, + sign, signAdd, isSignedBy, PublicKexKey, SecretKexKey, dhSecret, @@ -103,6 +103,9 @@ signAdd (SecretKey secret spublic) (Signed val sigs) = do ssig <- wrappedStore (storedStorage val) $ Signature spublic sig return $ Signed val (ssig : sigs) +isSignedBy :: Signed a -> Stored PublicKey -> Bool +isSignedBy sig key = key `elem` map (sigKey . fromStored) (signedSignature sig) + data PublicKexKey = PublicKexKey CX.PublicKey deriving (Show) -- cgit v1.2.3