-- Ontology.hs: OpenPGP (RFC4880) "is" functions -- Copyright © 2012-2016 Clint Adams -- This software is released under the terms of the Expat license. -- (See the LICENSE file). module Codec.Encryption.OpenPGP.Ontology ( -- * for signature payloads isCertRevocationSig , isRevokerP , isPKBindingSig , isSKBindingSig , isSubkeyBindingSig , isSubkeyRevocation , isTrustPkt -- * for signature subpackets , isCT , isIssuerSSP , isKET , isKUF , isPHA , isRevocationKeySSP , isSigCreationTime ) where import Codec.Encryption.OpenPGP.Types isCertRevocationSig :: SignaturePayload -> Bool isCertRevocationSig (SigV4 CertRevocationSig _ _ _ _ _ _) = True isCertRevocationSig _ = False isRevokerP :: SignaturePayload -> Bool isRevokerP (SigV4 SignatureDirectlyOnAKey _ _ h u _ _) = any isRevocationKeySSP h && any isIssuerSSP u isRevokerP _ = False isPKBindingSig :: SignaturePayload -> Bool isPKBindingSig (SigV4 PrimaryKeyBindingSig _ _ _ _ _ _) = True isPKBindingSig _ = False isSKBindingSig :: SignaturePayload -> Bool isSKBindingSig (SigV4 SubkeyBindingSig _ _ _ _ _ _) = True isSKBindingSig _ = False isSubkeyRevocation :: SignaturePayload -> Bool isSubkeyRevocation (SigV4 SubkeyRevocationSig _ _ _ _ _ _) = True isSubkeyRevocation _ = False isSubkeyBindingSig :: SignaturePayload -> Bool isSubkeyBindingSig (SigV4 SubkeyBindingSig _ _ _ _ _ _) = True isSubkeyBindingSig _ = False isTrustPkt :: Pkt -> Bool isTrustPkt (TrustPkt _) = True isTrustPkt _ = False isCT :: SigSubPacket -> Bool isCT (SigSubPacket _ (SigCreationTime _)) = True isCT _ = False isIssuerSSP :: SigSubPacket -> Bool isIssuerSSP (SigSubPacket _ (Issuer _)) = True isIssuerSSP _ = False isKET :: SigSubPacket -> Bool isKET (SigSubPacket _ (KeyExpirationTime _)) = True isKET _ = False isKUF :: SigSubPacket -> Bool isKUF (SigSubPacket _ (KeyFlags _)) = True isKUF _ = False isPHA :: SigSubPacket -> Bool isPHA (SigSubPacket _ (PreferredHashAlgorithms _)) = True isPHA _ = False isRevocationKeySSP :: SigSubPacket -> Bool isRevocationKeySSP (SigSubPacket _ RevocationKey{}) = True isRevocationKeySSP _ = False isSigCreationTime :: SigSubPacket -> Bool isSigCreationTime (SigSubPacket _ (SigCreationTime _)) = True isSigCreationTime _ = False