summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2016-08-25 20:36:14 -0400
committerJoe Crayne <joe@jerkface.net>2019-07-01 09:19:55 -0400
commitbecfa261ce50d9976c3720aaacd06e48488300af (patch)
treecd74fa710ee38eb57d69f1581d9cc98a3c58ea90
parentdbab71d60e31e27e4331aa6b2c15d2fa9b78fbd8 (diff)
decryptSecretKey now a no-op for unenciphered keys.
-rw-r--r--Data/OpenPGP/Util/Base.hs6
-rw-r--r--Data/OpenPGP/Util/DecryptSecretKey.hs2
2 files changed, 7 insertions, 1 deletions
diff --git a/Data/OpenPGP/Util/Base.hs b/Data/OpenPGP/Util/Base.hs
index aaa02c7..ed0e32c 100644
--- a/Data/OpenPGP/Util/Base.hs
+++ b/Data/OpenPGP/Util/Base.hs
@@ -57,7 +57,11 @@ keyParam c k = fromJustMPI $ lookup c (OpenPGP.key k)
57 where 57 where
58 fromJustMPI :: Maybe OpenPGP.MPI -> Integer 58 fromJustMPI :: Maybe OpenPGP.MPI -> Integer
59 fromJustMPI (Just (OpenPGP.MPI x)) = x 59 fromJustMPI (Just (OpenPGP.MPI x)) = x
60 fromJustMPI _ = error "Not a Just MPI, Data.OpenPGP.CryptoAPI" 60 fromJustMPI _ =
61 case k of
62 PublicKeyPacket {} -> error $ "Missing "++show c++" field on "++show (key_algorithm k)++" packet."
63 SecretKeyPacket {} -> error $ "Missing "++show c++" field on "++show (symmetric_algorithm k)
64 ++" "++show (key_algorithm k)++" packet."
61 65
62integerBytesize :: Integer -> Int 66integerBytesize :: Integer -> Int
63integerBytesize i = fromIntegral $ LZ.length (encode (OpenPGP.MPI i)) - 2 67integerBytesize i = fromIntegral $ LZ.length (encode (OpenPGP.MPI i)) - 2
diff --git a/Data/OpenPGP/Util/DecryptSecretKey.hs b/Data/OpenPGP/Util/DecryptSecretKey.hs
index 11627d5..9b63c8e 100644
--- a/Data/OpenPGP/Util/DecryptSecretKey.hs
+++ b/Data/OpenPGP/Util/DecryptSecretKey.hs
@@ -56,6 +56,8 @@ decryptSecretKey ::
56 BS.ByteString -- ^ Passphrase 56 BS.ByteString -- ^ Passphrase
57 -> OpenPGP.Packet -- ^ Encrypted SecretKeyPacket 57 -> OpenPGP.Packet -- ^ Encrypted SecretKeyPacket
58 -> Maybe OpenPGP.Packet -- ^ Decrypted SecretKeyPacket 58 -> Maybe OpenPGP.Packet -- ^ Decrypted SecretKeyPacket
59decryptSecretKey _ k@(OpenPGP.SecretKeyPacket { OpenPGP.symmetric_algorithm = OpenPGP.Unencrypted })
60 = Just k
59decryptSecretKey pass k@(OpenPGP.SecretKeyPacket { 61decryptSecretKey pass k@(OpenPGP.SecretKeyPacket {
60 OpenPGP.version = 4, OpenPGP.key_algorithm = kalgo, 62 OpenPGP.version = 4, OpenPGP.key_algorithm = kalgo,
61 OpenPGP.s2k = s2k, OpenPGP.symmetric_algorithm = salgo, 63 OpenPGP.s2k = s2k, OpenPGP.symmetric_algorithm = salgo,