-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Implementation of the OpenPGP message format -- -- This is an OpenPGP library inspired by my work on OpenPGP-PHP -- http://github.com/bendiken/openpgp-php. It defines types -- Message and Packet to represent OpenPGP messages as series of packets -- and then defines instances of Data.Binary for each to facilitate -- encoding/decoding. -- -- There is also a wrapper around -- http://hackage.haskell.org/package/Crypto that currently does -- fingerprint generation and signature verification. -- -- It is intended that you use qualified imports with this library. If -- importing both modules, something like this will do: -- --
--   import qualified Data.OpenPGP as OpenPGP
--   import qualified Data.OpenPGP.Crypto as OpenPGP
--   
@package openpgp @version 0.1 -- | Main implementation of the OpenPGP message format -- http://tools.ietf.org/html/rfc4880 -- -- The recommended way to import this module is: -- --
--   import qualified Data.OpenPGP as OpenPGP
--   
module Data.OpenPGP newtype Message Message :: [Packet] -> Message data Packet SignaturePacket :: Word8 -> Word8 -> KeyAlgorithm -> HashAlgorithm -> [SignatureSubpacket] -> [SignatureSubpacket] -> Word16 -> MPI -> ByteString -> Packet version :: Packet -> Word8 signature_type :: Packet -> Word8 key_algorithm :: Packet -> KeyAlgorithm hash_algorithm :: Packet -> HashAlgorithm hashed_subpackets :: Packet -> [SignatureSubpacket] unhashed_subpackets :: Packet -> [SignatureSubpacket] hash_head :: Packet -> Word16 signature :: Packet -> MPI trailer :: Packet -> ByteString OnePassSignaturePacket :: Word8 -> Word8 -> HashAlgorithm -> KeyAlgorithm -> String -> Word8 -> Packet version :: Packet -> Word8 signature_type :: Packet -> Word8 hash_algorithm :: Packet -> HashAlgorithm key_algorithm :: Packet -> KeyAlgorithm key_id :: Packet -> String nested :: Packet -> Word8 PublicKeyPacket :: Word8 -> Word32 -> KeyAlgorithm -> Map Char MPI -> Packet version :: Packet -> Word8 timestamp :: Packet -> Word32 key_algorithm :: Packet -> KeyAlgorithm key :: Packet -> Map Char MPI SecretKeyPacket :: Word8 -> Word32 -> KeyAlgorithm -> Map Char MPI -> Word8 -> Word8 -> Word8 -> HashAlgorithm -> Word64 -> Word8 -> ByteString -> ByteString -> Packet version :: Packet -> Word8 timestamp :: Packet -> Word32 key_algorithm :: Packet -> KeyAlgorithm key :: Packet -> Map Char MPI s2k_useage :: Packet -> Word8 symmetric_type :: Packet -> Word8 s2k_type :: Packet -> Word8 s2k_hash_algorithm :: Packet -> HashAlgorithm s2k_salt :: Packet -> Word64 s2k_count :: Packet -> Word8 encrypted_data :: Packet -> ByteString private_hash :: Packet -> ByteString CompressedDataPacket :: CompressionAlgorithm -> Message -> Packet compression_algorithm :: Packet -> CompressionAlgorithm message :: Packet -> Message LiteralDataPacket :: Char -> String -> Word32 -> ByteString -> Packet format :: Packet -> Char filename :: Packet -> String timestamp :: Packet -> Word32 content :: Packet -> ByteString UserIDPacket :: String -> Packet data SignatureSubpacket SignatureCreationTimePacket :: Word32 -> SignatureSubpacket IssuerPacket :: String -> SignatureSubpacket data HashAlgorithm MD5 :: HashAlgorithm SHA1 :: HashAlgorithm RIPEMD160 :: HashAlgorithm SHA256 :: HashAlgorithm SHA384 :: HashAlgorithm SHA512 :: HashAlgorithm SHA224 :: HashAlgorithm data KeyAlgorithm RSA :: KeyAlgorithm RSA_E :: KeyAlgorithm RSA_S :: KeyAlgorithm ELGAMAL :: KeyAlgorithm DSA :: KeyAlgorithm ECC :: KeyAlgorithm ECDSA :: KeyAlgorithm DH :: KeyAlgorithm data CompressionAlgorithm Uncompressed :: CompressionAlgorithm ZIP :: CompressionAlgorithm ZLIB :: CompressionAlgorithm BZip2 :: CompressionAlgorithm newtype MPI MPI :: Integer -> MPI -- | Helper method for fingerprints and such fingerprint_material :: Packet -> [ByteString] -- | Extract all signature and data packets from a Message signatures_and_data :: Message -> ([Packet], [Packet]) -- | Find the keyid that issued a SignaturePacket signature_issuer :: Packet -> Maybe String instance Show HashAlgorithm instance Read HashAlgorithm instance Eq HashAlgorithm instance Show KeyAlgorithm instance Read KeyAlgorithm instance Eq KeyAlgorithm instance Show CompressionAlgorithm instance Read CompressionAlgorithm instance Eq CompressionAlgorithm instance Show MPI instance Read MPI instance Eq MPI instance Ord MPI instance Show SignatureSubpacket instance Read SignatureSubpacket instance Eq SignatureSubpacket instance Show Packet instance Read Packet instance Eq Packet instance Show Message instance Read Message instance Eq Message instance Binary SignatureSubpacket instance Binary MPI instance Binary Message instance Binary CompressionAlgorithm instance Binary KeyAlgorithm instance Binary HashAlgorithm instance Binary Packet -- | This is a wrapper around -- http://hackage.haskell.org/package/Crypto that currently does -- fingerprint generation and signature verification. -- -- The recommended way to import this module is: -- --
--   import qualified Data.OpenPGP.Crypto as OpenPGP
--   
module Data.OpenPGP.Crypto -- | Verify a message signature. Only supports RSA keys for now. verify :: Message -> Message -> Int -> Bool -- | Generate a key fingerprint from a PublicKeyPacket or SecretKeyPacket -- http://tools.ietf.org/html/rfc4880#section-12.2 fingerprint :: Packet -> String