diff options
author | joe <joe@jerkface.net> | 2016-08-25 20:36:14 -0400 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2019-07-01 09:19:55 -0400 |
commit | becfa261ce50d9976c3720aaacd06e48488300af (patch) | |
tree | cd74fa710ee38eb57d69f1581d9cc98a3c58ea90 | |
parent | dbab71d60e31e27e4331aa6b2c15d2fa9b78fbd8 (diff) |
decryptSecretKey now a no-op for unenciphered keys.
-rw-r--r-- | Data/OpenPGP/Util/Base.hs | 6 | ||||
-rw-r--r-- | Data/OpenPGP/Util/DecryptSecretKey.hs | 2 |
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 | ||
62 | integerBytesize :: Integer -> Int | 66 | integerBytesize :: Integer -> Int |
63 | integerBytesize i = fromIntegral $ LZ.length (encode (OpenPGP.MPI i)) - 2 | 67 | integerBytesize 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 |
59 | decryptSecretKey _ k@(OpenPGP.SecretKeyPacket { OpenPGP.symmetric_algorithm = OpenPGP.Unencrypted }) | ||
60 | = Just k | ||
59 | decryptSecretKey pass k@(OpenPGP.SecretKeyPacket { | 61 | decryptSecretKey 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, |