-- 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 libraries in
--   Ruby <a>https://github.com/singpolyma/openpgp</a>, PHP
--   <a>http://github.com/singpolyma/openpgp-php</a>, and Python
--   <a>https://github.com/singpolyma/OpenPGP-Python</a>.
--   
--   It defines types to represent OpenPGP messages as a series of packets
--   and then defines instances of Data.Binary for each to facilitate
--   encoding/decoding.
--   
--   For performing cryptography, see
--   <a>http://hackage.haskell.org/openpgp-crypto-api</a> or
--   <a>http://hackage.haskell.org/openpgp-Crypto</a>
--   
--   It is intended that you use qualified imports with this library.
--   
--   <pre>
--   import qualified Data.OpenPGP as OpenPGP
--   </pre>
@package openpgp
@version 0.4


-- | Main implementation of the OpenPGP message format
--   <a>http://tools.ietf.org/html/rfc4880</a>
--   
--   The recommended way to import this module is:
--   
--   <pre>
--   import qualified Data.OpenPGP as OpenPGP
--   </pre>
module Data.OpenPGP
data Packet
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 -> [(Char, MPI)] -> Bool -> Maybe Word16 -> Packet
version :: Packet -> Word8
timestamp :: Packet -> Word32
key_algorithm :: Packet -> KeyAlgorithm
key :: Packet -> [(Char, MPI)]
is_subkey :: Packet -> Bool
v3_days_of_validity :: Packet -> Maybe Word16
SecretKeyPacket :: Word8 -> Word32 -> KeyAlgorithm -> [(Char, MPI)] -> Word8 -> Maybe Word8 -> Maybe Word8 -> Maybe HashAlgorithm -> Maybe Word64 -> Maybe Word32 -> ByteString -> Maybe ByteString -> Bool -> Packet
version :: Packet -> Word8
timestamp :: Packet -> Word32
key_algorithm :: Packet -> KeyAlgorithm
key :: Packet -> [(Char, MPI)]
s2k_useage :: Packet -> Word8
symmetric_type :: Packet -> Maybe Word8
s2k_type :: Packet -> Maybe Word8
s2k_hash_algorithm :: Packet -> Maybe HashAlgorithm
s2k_salt :: Packet -> Maybe Word64
s2k_count :: Packet -> Maybe Word32
encrypted_data :: Packet -> ByteString
private_hash :: Packet -> Maybe ByteString
is_subkey :: Packet -> Bool
CompressedDataPacket :: CompressionAlgorithm -> Message -> Packet
compression_algorithm :: Packet -> CompressionAlgorithm
message :: Packet -> Message
MarkerPacket :: Packet
LiteralDataPacket :: Char -> String -> Word32 -> ByteString -> Packet
format :: Packet -> Char
filename :: Packet -> String
timestamp :: Packet -> Word32
content :: Packet -> ByteString
UserIDPacket :: String -> Packet
ModificationDetectionCodePacket :: ByteString -> Packet
UnsupportedPacket :: Word8 -> ByteString -> Packet
isSignaturePacket :: Packet -> Bool

-- | SignaturePacket smart constructor
signaturePacket :: Word8 -> Word8 -> KeyAlgorithm -> HashAlgorithm -> [SignatureSubpacket] -> [SignatureSubpacket] -> Word16 -> [MPI] -> Packet
newtype Message
Message :: [Packet] -> Message
data SignatureSubpacket
SignatureCreationTimePacket :: Word32 -> SignatureSubpacket
SignatureExpirationTimePacket :: Word32 -> SignatureSubpacket
ExportableCertificationPacket :: Bool -> SignatureSubpacket
TrustSignaturePacket :: Word8 -> Word8 -> SignatureSubpacket
depth :: SignatureSubpacket -> Word8
trust :: SignatureSubpacket -> Word8
RegularExpressionPacket :: String -> SignatureSubpacket
RevocablePacket :: Bool -> SignatureSubpacket
KeyExpirationTimePacket :: Word32 -> SignatureSubpacket
PreferredSymmetricAlgorithmsPacket :: [SymmetricAlgorithm] -> SignatureSubpacket
RevocationKeyPacket :: Bool -> KeyAlgorithm -> String -> SignatureSubpacket
sensitive :: SignatureSubpacket -> Bool
revocation_key_algorithm :: SignatureSubpacket -> KeyAlgorithm
revocation_key_fingerprint :: SignatureSubpacket -> String
IssuerPacket :: String -> SignatureSubpacket
NotationDataPacket :: Bool -> String -> String -> SignatureSubpacket
human_readable :: SignatureSubpacket -> Bool
notation_name :: SignatureSubpacket -> String
notation_value :: SignatureSubpacket -> String
PreferredHashAlgorithmsPacket :: [HashAlgorithm] -> SignatureSubpacket
PreferredCompressionAlgorithmsPacket :: [CompressionAlgorithm] -> SignatureSubpacket
KeyServerPreferencesPacket :: Bool -> SignatureSubpacket
keyserver_no_modify :: SignatureSubpacket -> Bool
PreferredKeyServerPacket :: String -> SignatureSubpacket
PrimaryUserIDPacket :: Bool -> SignatureSubpacket
PolicyURIPacket :: String -> SignatureSubpacket
KeyFlagsPacket :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> SignatureSubpacket
certify_keys :: SignatureSubpacket -> Bool
sign_data :: SignatureSubpacket -> Bool
encrypt_communication :: SignatureSubpacket -> Bool
encrypt_storage :: SignatureSubpacket -> Bool
split_key :: SignatureSubpacket -> Bool
authentication :: SignatureSubpacket -> Bool
group_key :: SignatureSubpacket -> Bool
SignerUserIDPacket :: String -> SignatureSubpacket
ReasonForRevocationPacket :: RevocationCode -> String -> SignatureSubpacket
FeaturesPacket :: Bool -> SignatureSubpacket
supports_mdc :: SignatureSubpacket -> Bool
SignatureTargetPacket :: KeyAlgorithm -> HashAlgorithm -> ByteString -> SignatureSubpacket
target_key_algorithm :: SignatureSubpacket -> KeyAlgorithm
target_hash_algorithm :: SignatureSubpacket -> HashAlgorithm
hash :: SignatureSubpacket -> ByteString
EmbeddedSignaturePacket :: Packet -> SignatureSubpacket
UnsupportedSignatureSubpacket :: Word8 -> ByteString -> SignatureSubpacket
data HashAlgorithm
MD5 :: HashAlgorithm
SHA1 :: HashAlgorithm
RIPEMD160 :: HashAlgorithm
SHA256 :: HashAlgorithm
SHA384 :: HashAlgorithm
SHA512 :: HashAlgorithm
SHA224 :: HashAlgorithm
HashAlgorithm :: Word8 -> HashAlgorithm
data KeyAlgorithm
RSA :: KeyAlgorithm
RSA_E :: KeyAlgorithm
RSA_S :: KeyAlgorithm
ELGAMAL :: KeyAlgorithm
DSA :: KeyAlgorithm
ECC :: KeyAlgorithm
ECDSA :: KeyAlgorithm
DH :: KeyAlgorithm
KeyAlgorithm :: Word8 -> KeyAlgorithm
data SymmetricAlgorithm
Unencrypted :: SymmetricAlgorithm
IDEA :: SymmetricAlgorithm
TripleDES :: SymmetricAlgorithm
CAST5 :: SymmetricAlgorithm
Blowfish :: SymmetricAlgorithm
AES128 :: SymmetricAlgorithm
AES192 :: SymmetricAlgorithm
AES256 :: SymmetricAlgorithm
Twofish :: SymmetricAlgorithm
SymmetricAlgorithm :: Word8 -> SymmetricAlgorithm
data CompressionAlgorithm
Uncompressed :: CompressionAlgorithm
ZIP :: CompressionAlgorithm
ZLIB :: CompressionAlgorithm
BZip2 :: CompressionAlgorithm
CompressionAlgorithm :: Word8 -> CompressionAlgorithm
data RevocationCode
NoReason :: RevocationCode
KeySuperseded :: RevocationCode
KeyCompromised :: RevocationCode
KeyRetired :: RevocationCode
UserIDInvalid :: RevocationCode
RevocationCode :: Word8 -> RevocationCode
newtype MPI
MPI :: Integer -> MPI
find_key :: (Packet -> String) -> Message -> String -> Maybe Packet

-- | Helper method for fingerprints and such
fingerprint_material :: Packet -> [ByteString]

-- | Extract all signature and data packets from a <a>Message</a>
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 SymmetricAlgorithm
instance Read SymmetricAlgorithm
instance Eq SymmetricAlgorithm
instance Show CompressionAlgorithm
instance Read CompressionAlgorithm
instance Eq CompressionAlgorithm
instance Show RevocationCode
instance Read RevocationCode
instance Eq RevocationCode
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 RevocationCode
instance Enum RevocationCode
instance Binary CompressionAlgorithm
instance Enum CompressionAlgorithm
instance Binary SymmetricAlgorithm
instance Enum SymmetricAlgorithm
instance Binary KeyAlgorithm
instance Enum KeyAlgorithm
instance Binary HashAlgorithm
instance Enum HashAlgorithm
instance Binary Packet
