-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | native Haskell implementation of OpenPGP (RFC4880)
--   
--   native Haskell implementation of OpenPGP (RFC4880), plus Camellia
--   (RFC5581)
@package hOpenPGP
@version 2.5.1

module Codec.Encryption.OpenPGP.Types
type Exportability = Bool
type TrustLevel = Word8
type TrustAmount = Word8
type AlmostPublicDomainRegex = ByteString
type Revocability = Bool
type RevocationReason = Text
type KeyServer = ByteString
type SignatureHash = ByteString
type PacketVersion = Word8
type V3Expiration = Word16
type CompressedDataPayload = ByteString
type FileName = ByteString
type ImageData = ByteString
type NestedFlag = Bool
class (Eq a, Ord a) => FutureFlag a
fromFFlag :: FutureFlag a => a -> Int
toFFlag :: FutureFlag a => Int -> a
class (Eq a, Ord a) => FutureVal a
fromFVal :: FutureVal a => a -> Word8
toFVal :: FutureVal a => Word8 -> a
data SymmetricAlgorithm
Plaintext :: SymmetricAlgorithm
IDEA :: SymmetricAlgorithm
TripleDES :: SymmetricAlgorithm
CAST5 :: SymmetricAlgorithm
Blowfish :: SymmetricAlgorithm
ReservedSAFER :: SymmetricAlgorithm
ReservedDES :: SymmetricAlgorithm
AES128 :: SymmetricAlgorithm
AES192 :: SymmetricAlgorithm
AES256 :: SymmetricAlgorithm
Twofish :: SymmetricAlgorithm
Camellia128 :: SymmetricAlgorithm
Camellia192 :: SymmetricAlgorithm
Camellia256 :: SymmetricAlgorithm
OtherSA :: Word8 -> SymmetricAlgorithm
data NotationFlag
HumanReadable :: NotationFlag
OtherNF :: Word8 -> NotationFlag
newtype ThirtyTwoBitTimeStamp
ThirtyTwoBitTimeStamp :: Word32 -> ThirtyTwoBitTimeStamp
[unThirtyTwoBitTimeStamp] :: ThirtyTwoBitTimeStamp -> Word32
durU :: (Integral a, Show a) => a -> Maybe (String, a)
newtype ThirtyTwoBitDuration
ThirtyTwoBitDuration :: Word32 -> ThirtyTwoBitDuration
[unThirtyTwoBitDuration] :: ThirtyTwoBitDuration -> Word32
data RevocationClass
SensitiveRK :: RevocationClass
RClOther :: Word8 -> RevocationClass
data PubKeyAlgorithm
RSA :: PubKeyAlgorithm
DeprecatedRSAEncryptOnly :: PubKeyAlgorithm
DeprecatedRSASignOnly :: PubKeyAlgorithm
ElgamalEncryptOnly :: PubKeyAlgorithm
DSA :: PubKeyAlgorithm
ECDH :: PubKeyAlgorithm
ECDSA :: PubKeyAlgorithm
ForbiddenElgamal :: PubKeyAlgorithm
DH :: PubKeyAlgorithm
OtherPKA :: Word8 -> PubKeyAlgorithm
newtype TwentyOctetFingerprint
TwentyOctetFingerprint :: ByteString -> TwentyOctetFingerprint
[unTOF] :: TwentyOctetFingerprint -> ByteString
newtype SpacedFingerprint
SpacedFingerprint :: TwentyOctetFingerprint -> SpacedFingerprint
[unSpacedFingerprint] :: SpacedFingerprint -> TwentyOctetFingerprint
w8sToHex :: [Word8] -> String
hexToW8s :: ReadS Word8
newtype EightOctetKeyId
EightOctetKeyId :: ByteString -> EightOctetKeyId
[unEOKI] :: EightOctetKeyId -> ByteString
newtype NotationName
NotationName :: ByteString -> NotationName
[unNotationName] :: NotationName -> ByteString
newtype NotationValue
NotationValue :: ByteString -> NotationValue
[unNotationValue] :: NotationValue -> ByteString
data HashAlgorithm
DeprecatedMD5 :: HashAlgorithm
SHA1 :: HashAlgorithm
RIPEMD160 :: HashAlgorithm
SHA256 :: HashAlgorithm
SHA384 :: HashAlgorithm
SHA512 :: HashAlgorithm
SHA224 :: HashAlgorithm
OtherHA :: Word8 -> HashAlgorithm
data CompressionAlgorithm
Uncompressed :: CompressionAlgorithm
ZIP :: CompressionAlgorithm
ZLIB :: CompressionAlgorithm
BZip2 :: CompressionAlgorithm
OtherCA :: Word8 -> CompressionAlgorithm
data KSPFlag
NoModify :: KSPFlag
KSPOther :: Int -> KSPFlag
data KeyFlag
GroupKey :: KeyFlag
AuthKey :: KeyFlag
SplitKey :: KeyFlag
EncryptStorageKey :: KeyFlag
EncryptCommunicationsKey :: KeyFlag
SignDataKey :: KeyFlag
CertifyKeysKey :: KeyFlag
KFOther :: Int -> KeyFlag
data RevocationCode
NoReason :: RevocationCode
KeySuperseded :: RevocationCode
KeyMaterialCompromised :: RevocationCode
KeyRetiredAndNoLongerUsed :: RevocationCode
UserIdInfoNoLongerValid :: RevocationCode
RCoOther :: Word8 -> RevocationCode
data FeatureFlag
ModificationDetection :: FeatureFlag
FeatureOther :: Int -> FeatureFlag
newtype URL
URL :: URI -> URL
[unURL] :: URL -> URI
data SigType
BinarySig :: SigType
CanonicalTextSig :: SigType
StandaloneSig :: SigType
GenericCert :: SigType
PersonaCert :: SigType
CasualCert :: SigType
PositiveCert :: SigType
SubkeyBindingSig :: SigType
PrimaryKeyBindingSig :: SigType
SignatureDirectlyOnAKey :: SigType
KeyRevocationSig :: SigType
SubkeyRevocationSig :: SigType
CertRevocationSig :: SigType
TimestampSig :: SigType
ThirdPartyConfirmationSig :: SigType
OtherSig :: Word8 -> SigType
newtype MPI
MPI :: Integer -> MPI
[unMPI] :: MPI -> Integer
data SignaturePayload
SigV3 :: SigType -> ThirtyTwoBitTimeStamp -> EightOctetKeyId -> PubKeyAlgorithm -> HashAlgorithm -> Word16 -> (NonEmpty MPI) -> SignaturePayload
SigV4 :: SigType -> PubKeyAlgorithm -> HashAlgorithm -> [SigSubPacket] -> [SigSubPacket] -> Word16 -> (NonEmpty MPI) -> SignaturePayload
SigVOther :: Word8 -> ByteString -> SignaturePayload
data SigSubPacketPayload
SigCreationTime :: ThirtyTwoBitTimeStamp -> SigSubPacketPayload
SigExpirationTime :: ThirtyTwoBitDuration -> SigSubPacketPayload
ExportableCertification :: Exportability -> SigSubPacketPayload
TrustSignature :: TrustLevel -> TrustAmount -> SigSubPacketPayload
RegularExpression :: AlmostPublicDomainRegex -> SigSubPacketPayload
Revocable :: Revocability -> SigSubPacketPayload
KeyExpirationTime :: ThirtyTwoBitDuration -> SigSubPacketPayload
PreferredSymmetricAlgorithms :: [SymmetricAlgorithm] -> SigSubPacketPayload
RevocationKey :: (Set RevocationClass) -> PubKeyAlgorithm -> TwentyOctetFingerprint -> SigSubPacketPayload
Issuer :: EightOctetKeyId -> SigSubPacketPayload
NotationData :: (Set NotationFlag) -> NotationName -> NotationValue -> SigSubPacketPayload
PreferredHashAlgorithms :: [HashAlgorithm] -> SigSubPacketPayload
PreferredCompressionAlgorithms :: [CompressionAlgorithm] -> SigSubPacketPayload
KeyServerPreferences :: (Set KSPFlag) -> SigSubPacketPayload
PreferredKeyServer :: KeyServer -> SigSubPacketPayload
PrimaryUserId :: Bool -> SigSubPacketPayload
PolicyURL :: URL -> SigSubPacketPayload
KeyFlags :: (Set KeyFlag) -> SigSubPacketPayload
SignersUserId :: Text -> SigSubPacketPayload
ReasonForRevocation :: RevocationCode -> RevocationReason -> SigSubPacketPayload
Features :: (Set FeatureFlag) -> SigSubPacketPayload
SignatureTarget :: PubKeyAlgorithm -> HashAlgorithm -> SignatureHash -> SigSubPacketPayload
EmbeddedSignature :: SignaturePayload -> SigSubPacketPayload
UserDefinedSigSub :: Word8 -> ByteString -> SigSubPacketPayload
OtherSigSub :: Word8 -> ByteString -> SigSubPacketPayload
uc3 :: (a -> b -> c -> d) -> (a, b, c) -> d
data SigSubPacket
SigSubPacket :: Bool -> SigSubPacketPayload -> SigSubPacket
[_sspCriticality] :: SigSubPacket -> Bool
[_sspPayload] :: SigSubPacket -> SigSubPacketPayload
sspPayload :: Lens' SigSubPacket SigSubPacketPayload
sspCriticality :: Lens' SigSubPacket Bool
data KeyVersion
DeprecatedV3 :: KeyVersion
V4 :: KeyVersion
newtype IV
IV :: ByteString -> IV
[unIV] :: IV -> ByteString
data DataType
BinaryData :: DataType
TextData :: DataType
UTF8Data :: DataType
OtherData :: Word8 -> DataType
newtype Salt
Salt :: ByteString -> Salt
[unSalt] :: Salt -> ByteString
newtype IterationCount
IterationCount :: Int -> IterationCount
[unIterationCount] :: IterationCount -> Int
data S2K
Simple :: HashAlgorithm -> S2K
Salted :: HashAlgorithm -> Salt -> S2K
IteratedSalted :: HashAlgorithm -> Salt -> IterationCount -> S2K
OtherS2K :: Word8 -> ByteString -> S2K
data ImageFormat
JPEG :: ImageFormat
OtherImage :: Word8 -> ImageFormat
data ImageHeader
ImageHV1 :: ImageFormat -> ImageHeader
data UserAttrSubPacket
ImageAttribute :: ImageHeader -> ImageData -> UserAttrSubPacket
OtherUASub :: Word8 -> ByteString -> UserAttrSubPacket
data ECCCurve
BrokenNISTP256 :: ECCCurve
BrokenNISTP384 :: ECCCurve
BrokenNISTP521 :: ECCCurve
newtype Block a
Block :: [a] -> Block a
[unBlock] :: Block a -> [a]
newtype DSA_PublicKey
DSA_PublicKey :: PublicKey -> DSA_PublicKey
[unDSA_PublicKey] :: DSA_PublicKey -> PublicKey
newtype RSA_PublicKey
RSA_PublicKey :: PublicKey -> RSA_PublicKey
[unRSA_PublicKey] :: RSA_PublicKey -> PublicKey
newtype ECDSA_PublicKey
ECDSA_PublicKey :: PublicKey -> ECDSA_PublicKey
[unECDSA_PublicKey] :: ECDSA_PublicKey -> PublicKey
newtype DSA_PrivateKey
DSA_PrivateKey :: PrivateKey -> DSA_PrivateKey
[unDSA_PrivateKey] :: DSA_PrivateKey -> PrivateKey
newtype RSA_PrivateKey
RSA_PrivateKey :: PrivateKey -> RSA_PrivateKey
[unRSA_PrivateKey] :: RSA_PrivateKey -> PrivateKey
newtype ECDSA_PrivateKey
ECDSA_PrivateKey :: PrivateKey -> ECDSA_PrivateKey
[unECDSA_PrivateKey] :: ECDSA_PrivateKey -> PrivateKey
newtype DSA_Params
DSA_Params :: Params -> DSA_Params
[unDSA_Params] :: DSA_Params -> Params
class Packet a where data PacketType a :: * where {
    data family PacketType a :: *;
}
packetType :: Packet a => a -> PacketType a
packetCode :: Packet a => PacketType a -> Word8
toPkt :: Packet a => a -> Pkt
fromPkt :: Packet a => Pkt -> a
data PKESK
PKESK :: PacketVersion -> EightOctetKeyId -> PubKeyAlgorithm -> NonEmpty MPI -> PKESK
[_pkeskPacketVersion] :: PKESK -> PacketVersion
[_pkeskEightOctetKeyId] :: PKESK -> EightOctetKeyId
[_pkeskPubKeyAlgorithm] :: PKESK -> PubKeyAlgorithm
[_pkeskMPIs] :: PKESK -> NonEmpty MPI
data Signature
Signature :: SignaturePayload -> Signature
[_signaturePayload] :: Signature -> SignaturePayload
data SKESK
SKESK :: PacketVersion -> SymmetricAlgorithm -> S2K -> Maybe ByteString -> SKESK
[_skeskPacketVersion] :: SKESK -> PacketVersion
[_skeskSymmetricAlgorithm] :: SKESK -> SymmetricAlgorithm
[_skeskS2K] :: SKESK -> S2K
[_skeskESK] :: SKESK -> Maybe ByteString
data OnePassSignature
OnePassSignature :: PacketVersion -> SigType -> HashAlgorithm -> PubKeyAlgorithm -> EightOctetKeyId -> NestedFlag -> OnePassSignature
[_onePassSignaturePacketVersion] :: OnePassSignature -> PacketVersion
[_onePassSignatureSigType] :: OnePassSignature -> SigType
[_onePassSignatureHashAlgorithm] :: OnePassSignature -> HashAlgorithm
[_onePassSignaturePubKeyAlgorithm] :: OnePassSignature -> PubKeyAlgorithm
[_onePassSignatureEightOctetKeyId] :: OnePassSignature -> EightOctetKeyId
[_onePassSignatureNestedFlag] :: OnePassSignature -> NestedFlag
data SecretKey
SecretKey :: PKPayload -> SKAddendum -> SecretKey
[_secretKeyPKPayload] :: SecretKey -> PKPayload
[_secretKeySKAddendum] :: SecretKey -> SKAddendum
data PublicKey
PublicKey :: PKPayload -> PublicKey
[_publicKeyPKPayload] :: PublicKey -> PKPayload
data SecretSubkey
SecretSubkey :: PKPayload -> SKAddendum -> SecretSubkey
[_secretSubkeyPKPayload] :: SecretSubkey -> PKPayload
[_secretSubkeySKAddendum] :: SecretSubkey -> SKAddendum
data CompressedData
CompressedData :: CompressionAlgorithm -> CompressedDataPayload -> CompressedData
[_compressedDataCompressionAlgorithm] :: CompressedData -> CompressionAlgorithm
[_compressedDataPayload] :: CompressedData -> CompressedDataPayload
data SymEncData
SymEncData :: ByteString -> SymEncData
[_symEncDataPayload] :: SymEncData -> ByteString
data Marker
Marker :: ByteString -> Marker
[_markerPayload] :: Marker -> ByteString
data LiteralData
LiteralData :: DataType -> FileName -> ThirtyTwoBitTimeStamp -> ByteString -> LiteralData
[_literalDataDataType] :: LiteralData -> DataType
[_literalDataFileName] :: LiteralData -> FileName
[_literalDataTimeStamp] :: LiteralData -> ThirtyTwoBitTimeStamp
[_literalDataPayload] :: LiteralData -> ByteString
data Trust
Trust :: ByteString -> Trust
[_trustPayload] :: Trust -> ByteString
data UserId
UserId :: Text -> UserId
[_userIdPayload] :: UserId -> Text
data PublicSubkey
PublicSubkey :: PKPayload -> PublicSubkey
[_publicSubkeyPKPayload] :: PublicSubkey -> PKPayload
data UserAttribute
UserAttribute :: [UserAttrSubPacket] -> UserAttribute
[_userAttributeSubPackets] :: UserAttribute -> [UserAttrSubPacket]
data SymEncIntegrityProtectedData
SymEncIntegrityProtectedData :: PacketVersion -> ByteString -> SymEncIntegrityProtectedData
[_symEncIntegrityProtectedDataPacketVersion] :: SymEncIntegrityProtectedData -> PacketVersion
[_symEncIntegrityProtectedDataPayload] :: SymEncIntegrityProtectedData -> ByteString
data ModificationDetectionCode
ModificationDetectionCode :: ByteString -> ModificationDetectionCode
[_modificationDetectionCodePayload] :: ModificationDetectionCode -> ByteString
data OtherPacket
OtherPacket :: Word8 -> ByteString -> OtherPacket
[_otherPacketType] :: OtherPacket -> Word8
[_otherPacketPayload] :: OtherPacket -> ByteString
data BrokenPacket
BrokenPacket :: String -> Word8 -> ByteString -> BrokenPacket
[_brokenPacketParseError] :: BrokenPacket -> String
[_brokenPacketType] :: BrokenPacket -> Word8
[_brokenPacketPayload] :: BrokenPacket -> ByteString
pkeskPubKeyAlgorithm :: Lens' PKESK PubKeyAlgorithm
pkeskPacketVersion :: Lens' PKESK PacketVersion
pkeskMPIs :: Lens' PKESK (NonEmpty MPI)
pkeskEightOctetKeyId :: Lens' PKESK EightOctetKeyId
signaturePayload :: Iso' Signature SignaturePayload
skeskSymmetricAlgorithm :: Lens' SKESK SymmetricAlgorithm
skeskS2K :: Lens' SKESK S2K
skeskPacketVersion :: Lens' SKESK PacketVersion
skeskESK :: Lens' SKESK (Maybe ByteString)
onePassSignatureSigType :: Lens' OnePassSignature SigType
onePassSignaturePubKeyAlgorithm :: Lens' OnePassSignature PubKeyAlgorithm
onePassSignaturePacketVersion :: Lens' OnePassSignature PacketVersion
onePassSignatureNestedFlag :: Lens' OnePassSignature NestedFlag
onePassSignatureHashAlgorithm :: Lens' OnePassSignature HashAlgorithm
onePassSignatureEightOctetKeyId :: Lens' OnePassSignature EightOctetKeyId
secretKeySKAddendum :: Lens' SecretKey SKAddendum
secretKeyPKPayload :: Lens' SecretKey PKPayload
v3exp :: Lens' PKPayload V3Expiration
timestamp :: Lens' PKPayload ThirtyTwoBitTimeStamp
pubkey :: Lens' PKPayload PKey
pkalgo :: Lens' PKPayload PubKeyAlgorithm
keyVersion :: Lens' PKPayload KeyVersion
publicKeyPKPayload :: Iso' PublicKey PKPayload
secretSubkeySKAddendum :: Lens' SecretSubkey SKAddendum
secretSubkeyPKPayload :: Lens' SecretSubkey PKPayload
compressedDataPayload :: Lens' CompressedData CompressedDataPayload
compressedDataCompressionAlgorithm :: Lens' CompressedData CompressionAlgorithm
symEncDataPayload :: Iso' SymEncData ByteString
markerPayload :: Iso' Marker ByteString
literalDataTimeStamp :: Lens' LiteralData ThirtyTwoBitTimeStamp
literalDataPayload :: Lens' LiteralData ByteString
literalDataFileName :: Lens' LiteralData FileName
literalDataDataType :: Lens' LiteralData DataType
trustPayload :: Iso' Trust ByteString
userIdPayload :: Iso' UserId Text
publicSubkeyPKPayload :: Iso' PublicSubkey PKPayload
userAttributeSubPackets :: Iso' UserAttribute [UserAttrSubPacket]
symEncIntegrityProtectedDataPayload :: Lens' SymEncIntegrityProtectedData ByteString
symEncIntegrityProtectedDataPacketVersion :: Lens' SymEncIntegrityProtectedData PacketVersion
modificationDetectionCodePayload :: Iso' ModificationDetectionCode ByteString
otherPacketType :: Lens' OtherPacket Word8
otherPacketPayload :: Lens' OtherPacket ByteString
brokenPacketType :: Lens' BrokenPacket Word8
brokenPacketPayload :: Lens' BrokenPacket ByteString
brokenPacketParseError :: Lens' BrokenPacket String
data PKey
RSAPubKey :: RSA_PublicKey -> PKey
DSAPubKey :: DSA_PublicKey -> PKey
ElGamalPubKey :: [Integer] -> PKey
ECDHPubKey :: ECDSA_PublicKey -> HashAlgorithm -> SymmetricAlgorithm -> PKey
ECDSAPubKey :: ECDSA_PublicKey -> PKey
UnknownPKey :: ByteString -> PKey
data SKey
RSAPrivateKey :: RSA_PrivateKey -> SKey
DSAPrivateKey :: DSA_PrivateKey -> SKey
ElGamalPrivateKey :: [Integer] -> SKey
ECDHPrivateKey :: ECDSA_PrivateKey -> SKey
ECDSAPrivateKey :: ECDSA_PrivateKey -> SKey
UnknownSKey :: ByteString -> SKey
data PKPayload
PKPayload :: KeyVersion -> ThirtyTwoBitTimeStamp -> V3Expiration -> PubKeyAlgorithm -> PKey -> PKPayload
[_keyVersion] :: PKPayload -> KeyVersion
[_timestamp] :: PKPayload -> ThirtyTwoBitTimeStamp
[_v3exp] :: PKPayload -> V3Expiration
[_pkalgo] :: PKPayload -> PubKeyAlgorithm
[_pubkey] :: PKPayload -> PKey
data SKAddendum
SUS16bit :: SymmetricAlgorithm -> S2K -> IV -> ByteString -> SKAddendum
SUSSHA1 :: SymmetricAlgorithm -> S2K -> IV -> ByteString -> SKAddendum
SUSym :: SymmetricAlgorithm -> IV -> ByteString -> SKAddendum
SUUnencrypted :: SKey -> Word16 -> SKAddendum
data Pkt
PKESKPkt :: PacketVersion -> EightOctetKeyId -> PubKeyAlgorithm -> (NonEmpty MPI) -> Pkt
SignaturePkt :: SignaturePayload -> Pkt
SKESKPkt :: PacketVersion -> SymmetricAlgorithm -> S2K -> (Maybe ByteString) -> Pkt
OnePassSignaturePkt :: PacketVersion -> SigType -> HashAlgorithm -> PubKeyAlgorithm -> EightOctetKeyId -> NestedFlag -> Pkt
SecretKeyPkt :: PKPayload -> SKAddendum -> Pkt
PublicKeyPkt :: PKPayload -> Pkt
SecretSubkeyPkt :: PKPayload -> SKAddendum -> Pkt
CompressedDataPkt :: CompressionAlgorithm -> CompressedDataPayload -> Pkt
SymEncDataPkt :: ByteString -> Pkt
MarkerPkt :: ByteString -> Pkt
LiteralDataPkt :: DataType -> FileName -> ThirtyTwoBitTimeStamp -> ByteString -> Pkt
TrustPkt :: ByteString -> Pkt
UserIdPkt :: Text -> Pkt
PublicSubkeyPkt :: PKPayload -> Pkt
UserAttributePkt :: [UserAttrSubPacket] -> Pkt
SymEncIntegrityProtectedDataPkt :: PacketVersion -> ByteString -> Pkt
ModificationDetectionCodePkt :: ByteString -> Pkt
OtherPacketPkt :: Word8 -> ByteString -> Pkt
BrokenPacketPkt :: String -> Word8 -> ByteString -> Pkt
pktTag :: Pkt -> Word8
data Verification
Verification :: PKPayload -> SignaturePayload -> Verification
[_verificationSigner] :: Verification -> PKPayload
[_verificationSignature] :: Verification -> SignaturePayload
verificationSigner :: Lens' Verification PKPayload
verificationSignature :: Lens' Verification SignaturePayload
data TK
TK :: (PKPayload, Maybe SKAddendum) -> [SignaturePayload] -> [(Text, [SignaturePayload])] -> [([UserAttrSubPacket], [SignaturePayload])] -> [(Pkt, [SignaturePayload])] -> TK
[_tkKey] :: TK -> (PKPayload, Maybe SKAddendum)
[_tkRevs] :: TK -> [SignaturePayload]
[_tkUIDs] :: TK -> [(Text, [SignaturePayload])]
[_tkUAts] :: TK -> [([UserAttrSubPacket], [SignaturePayload])]
[_tkSubs] :: TK -> [(Pkt, [SignaturePayload])]
type KeyringIxs = '[EightOctetKeyId, TwentyOctetFingerprint, Text]
type Keyring = IxSet KeyringIxs TK
tkUIDs :: Lens' TK [(Text, [SignaturePayload])]
tkUAts :: Lens' TK [([UserAttrSubPacket], [SignaturePayload])]
tkSubs :: Lens' TK [(Pkt, [SignaturePayload])]
tkRevs :: Lens' TK [SignaturePayload]
tkKey :: Lens' TK (PKPayload, Maybe SKAddendum)

module Codec.Encryption.OpenPGP.CFB
decrypt :: SymmetricAlgorithm -> ByteString -> ByteString -> Either String ByteString
decryptNoNonce :: SymmetricAlgorithm -> IV -> ByteString -> ByteString -> Either String ByteString
decryptOpenPGPCfb :: SymmetricAlgorithm -> ByteString -> ByteString -> Either String ByteString
encryptNoNonce :: SymmetricAlgorithm -> S2K -> IV -> ByteString -> ByteString -> Either String ByteString

module Codec.Encryption.OpenPGP.Ontology
isCertRevocationSig :: SignaturePayload -> Bool
isRevokerP :: SignaturePayload -> Bool
isPKBindingSig :: SignaturePayload -> Bool
isSKBindingSig :: SignaturePayload -> Bool
isSubkeyBindingSig :: SignaturePayload -> Bool
isSubkeyRevocation :: SignaturePayload -> Bool
isTrustPkt :: Pkt -> Bool
isCT :: SigSubPacket -> Bool
isIssuerSSP :: SigSubPacket -> Bool
isKET :: SigSubPacket -> Bool
isKUF :: SigSubPacket -> Bool
isPHA :: SigSubPacket -> Bool
isRevocationKeySSP :: SigSubPacket -> Bool
isSigCreationTime :: SigSubPacket -> Bool

module Codec.Encryption.OpenPGP.Serialize
putSKAddendum :: SKAddendum -> Put
getSecretKey :: PKPayload -> Get SKey

-- | Parse the packets from a ByteString, with no error reporting
parsePkts :: ByteString -> [Pkt]
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.SigSubPacket
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.CompressionAlgorithm
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.PubKeyAlgorithm
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.HashAlgorithm
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.SymmetricAlgorithm
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.MPI
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.SigType
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.UserAttrSubPacket
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.S2K
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.PKESK
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.Signature
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.SKESK
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.OnePassSignature
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.SecretKey
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.PublicKey
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.SecretSubkey
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.CompressedData
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.SymEncData
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.Marker
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.LiteralData
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.Trust
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.UserId
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.PublicSubkey
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.UserAttribute
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.SymEncIntegrityProtectedData
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.ModificationDetectionCode
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PacketClass.OtherPacket
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Pkt.Pkt
instance Data.Binary.Class.Binary a => Data.Binary.Class.Binary (Codec.Encryption.OpenPGP.Types.Internal.Base.Block a)
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.PKITypes.PKPayload
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.Base.SignaturePayload
instance Data.Binary.Class.Binary Codec.Encryption.OpenPGP.Types.Internal.TK.TK

module Codec.Encryption.OpenPGP.Compression
decompressPkt :: Pkt -> [Pkt]
compressPkts :: CompressionAlgorithm -> [Pkt] -> Pkt

module Codec.Encryption.OpenPGP.Expirations
isTKTimeValid :: UTCTime -> TK -> Bool
getKeyExpirationTimesFromSignature :: SignaturePayload -> [ThirtyTwoBitDuration]

module Codec.Encryption.OpenPGP.Fingerprint
eightOctetKeyID :: PKPayload -> Either String EightOctetKeyId
fingerprint :: PKPayload -> TwentyOctetFingerprint

module Codec.Encryption.OpenPGP.KeyInfo
pubkeySize :: PKey -> Either [Char] Int
pkalgoAbbrev :: PubKeyAlgorithm -> [Char]

module Data.Conduit.OpenPGP.Keyring.Instances
instance Data.IxSet.Typed.Indexable Codec.Encryption.OpenPGP.Types.Internal.TK.KeyringIxs Codec.Encryption.OpenPGP.Types.Internal.TK.TK
instance GHC.Classes.Ord Codec.Encryption.OpenPGP.Types.Internal.Base.SignaturePayload
instance Data.Semigroup.Semigroup Codec.Encryption.OpenPGP.Types.Internal.TK.TK

module Codec.Encryption.OpenPGP.KeyringParser
parseAChunk :: (Monoid s, Show s) => Parser s r -> s -> ([(r, s)], Maybe (Maybe (r -> r), Parser s r)) -> (([(r, s)], Maybe (Maybe (r -> r), Parser s r)), [r])
finalizeParsing :: Monoid s => ([(r, s)], Maybe (Maybe (r -> r), Parser s r)) -> (([(r, s)], Maybe (Maybe (r -> r), Parser s r)), [r])
anyTK :: Bool -> Parser [Pkt] (Maybe TK)
data UidOrUat
I :: Text -> UidOrUat
A :: [UserAttrSubPacket] -> UidOrUat
splitUs :: [(UidOrUat, [SignaturePayload])] -> ([(Text, [SignaturePayload])], [([UserAttrSubPacket], [SignaturePayload])])
publicTK :: Bool -> Parser [Pkt] (Maybe TK)
secretTK :: Bool -> Parser [Pkt] (Maybe TK)
brokenTK :: Int -> Parser [Pkt] (Maybe TK)
pkPayload :: Parser [Pkt] (PKPayload, Maybe SKAddendum)
signature :: Bool -> [SigType] -> Parser [Pkt] [SignaturePayload]
signedUID :: Bool -> Parser [Pkt] (UidOrUat, [SignaturePayload])
signedUAt :: Bool -> Parser [Pkt] (UidOrUat, [SignaturePayload])
signedOrRevokedPubSubkey :: Bool -> Parser [Pkt] [(Pkt, [SignaturePayload])]
brokenPubSubkey :: Parser [Pkt] [(Pkt, [SignaturePayload])]
rawOrSignedOrRevokedSecSubkey :: Bool -> Parser [Pkt] [(Pkt, [SignaturePayload])]
brokenSecSubkey :: Parser [Pkt] [(Pkt, [SignaturePayload])]
skPayload :: Parser [Pkt] (PKPayload, Maybe SKAddendum)
broken :: Int -> Parser [Pkt] Pkt

-- | parse TKs from packets
parseTKs :: Bool -> [Pkt] -> [TK]
instance GHC.Show.Show Codec.Encryption.OpenPGP.KeyringParser.UidOrUat

module Data.Conduit.OpenPGP.Keyring
conduitToTKs :: Monad m => Conduit Pkt m TK
conduitToTKsDropping :: Monad m => Conduit Pkt m TK
sinkKeyringMap :: Monad m => Sink TK m Keyring
instance GHC.Show.Show Data.Conduit.OpenPGP.Keyring.Phase
instance GHC.Classes.Ord Data.Conduit.OpenPGP.Keyring.Phase
instance GHC.Classes.Eq Data.Conduit.OpenPGP.Keyring.Phase

module Codec.Encryption.OpenPGP.KeySelection
parseEightOctetKeyId :: Text -> Either String EightOctetKeyId
parseFingerprint :: Text -> Either String TwentyOctetFingerprint

module Codec.Encryption.OpenPGP.S2K
string2Key :: S2K -> Int -> ByteString -> ByteString
skesk2Key :: SKESK -> ByteString -> ByteString

module Codec.Encryption.OpenPGP.SecretKey
decryptPrivateKey :: (PKPayload, SKAddendum) -> ByteString -> SKAddendum

-- | 8-octet salt, IV must be length of cipher blocksize
encryptPrivateKey :: ByteString -> IV -> SKAddendum -> ByteString -> SKAddendum

-- | generates pseudo-random salt and IV
encryptPrivateKeyIO :: SKAddendum -> ByteString -> IO SKAddendum
reencryptSecretKeyIO :: SecretKey -> ByteString -> IO SecretKey

module Codec.Encryption.OpenPGP.Signatures
verifySigWith :: (Pkt -> Maybe UTCTime -> ByteString -> Either String Verification) -> Pkt -> PktStreamContext -> Maybe UTCTime -> Either String Verification
verifyAgainstKeyring :: Keyring -> Pkt -> Maybe UTCTime -> ByteString -> Either String Verification
verifyAgainstKeys :: [TK] -> Pkt -> Maybe UTCTime -> ByteString -> Either String Verification
verifyTKWith :: (Pkt -> PktStreamContext -> Maybe UTCTime -> Either String Verification) -> Maybe UTCTime -> TK -> Either String TK

module Data.Conduit.OpenPGP.Compression
conduitCompress :: MonadThrow m => CompressionAlgorithm -> Conduit Pkt m Pkt
conduitDecompress :: MonadThrow m => Conduit Pkt m Pkt

module Data.Conduit.OpenPGP.Decrypt
conduitDecrypt :: (MonadBaseControl IO m, MonadResource m) => InputCallback IO -> Conduit Pkt m Pkt
instance GHC.Show.Show Data.Conduit.OpenPGP.Decrypt.RecursorState
instance GHC.Classes.Eq Data.Conduit.OpenPGP.Decrypt.RecursorState
instance Data.Default.Class.Default Data.Conduit.OpenPGP.Decrypt.RecursorState

module Data.Conduit.OpenPGP.Filter
conduitPktFilter :: Monad m => FilterPredicates -> Conduit Pkt m Pkt
conduitTKFilter :: Monad m => FilterPredicates -> Conduit TK m TK
data FilterPredicates

-- | fp for transferable keys
RTKFilterPredicate :: (Reader TK Bool) -> FilterPredicates

-- | fp for context-less packets
RPFilterPredicate :: (Reader Pkt Bool) -> FilterPredicates

module Data.Conduit.OpenPGP.Verify
conduitVerify :: Monad m => Keyring -> Maybe UTCTime -> Conduit Pkt m (Either String Verification)
