| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Conduit.OpenPGP.Decrypt
Synopsis
- conduitDecrypt :: forall (m :: Type -> Type). (MonadFail m, MonadResource m, MonadThrow m, MonadUnliftIO m) => DecryptOptions -> ConduitT Pkt Pkt m DecryptOutcome
- conduitDecryptWithReport :: forall (m :: Type -> Type). (MonadFail m, MonadResource m, MonadThrow m, MonadUnliftIO m) => DecryptOptions -> ConduitT Pkt Pkt m DecryptReport
- data DecryptOptions = DecryptOptions {}
- data DecryptKeyResolution
- data PKESKRecipientKey = PKESKRecipientKey {}
- data PKESKAttemptFailureKind
- data PKESKAttemptFailure = PKESKAttemptFailure {}
- data DecryptStructureError
- data DecryptOutcome
- data DecryptReport = DecryptReport {}
- data DecryptSessionKeyResolutionReport = DecryptSessionKeyResolutionReport {}
- data DecryptSessionKeyResolutionPath
- data PKESKResolverAttempt = PKESKResolverAttempt {}
- data PKESKResolverAttemptAction
- decryptSEIPDv2Payload :: SymmetricAlgorithm -> AEADAlgorithm -> Word8 -> Salt -> ByteString -> SessionKey -> Either SEIPDv2Failure ByteString
- renderDecryptStructureError :: DecryptStructureError -> String
- renderDecryptOutcome :: DecryptOutcome -> String
- renderDecryptSessionKeyResolutionReport :: DecryptSessionKeyResolutionReport -> String
- renderDecryptReport :: DecryptReport -> String
Documentation
conduitDecrypt :: forall (m :: Type -> Type). (MonadFail m, MonadResource m, MonadThrow m, MonadUnliftIO m) => DecryptOptions -> ConduitT Pkt Pkt m DecryptOutcome Source #
conduitDecryptWithReport :: forall (m :: Type -> Type). (MonadFail m, MonadResource m, MonadThrow m, MonadUnliftIO m) => DecryptOptions -> ConduitT Pkt Pkt m DecryptReport Source #
data DecryptOptions Source #
Canonical decrypt configuration.
Most callers should prefer conduitDecrypt and set:
decryptOptionsKeyResolutiontoDecryptWithKeyringorDecryptWithKeyringAndPassphrasedecryptOptionsPolicyto strict (defaultDecryptPolicy) or lenientdecryptOptionsPassphraseCallbackfor SKESK passphrase lookup
Constructors
| DecryptOptions | |
Fields | |
data DecryptKeyResolution Source #
Build a stateful PKESKResolver that iterates over a pre-populated
candidate list. The returned resolver yields candidates in order and
returns ResolveExhausted once the list is depleted.
| How to resolve secret keys for PKESK-encrypted messages.
Constructors
| DecryptWithoutPKESK | Do not attempt PKESK decryption; fall through to manual session-key input via the passphrase callback instead. |
| DecryptWithKeyring SecretKeyring | Resolve secret keys from a |
| DecryptWithKeyringAndPassphrase SecretKeyring (SomePKPayload -> IO (Maybe Passphrase)) | Resolve secret keys from a |
| DecryptWithUnwrapCandidatesCallback (KeyIdentifier -> PubKeyAlgorithm -> IO [PKESKRecipientKey]) | Preferred callback form for non-keyring key material. The callback receives a typed key identifier (8-octet key ID, fingerprint, or wildcard) plus the packet public-key algorithm, then returns all matching candidates in priority order. hOpenPGP iterates candidates deterministically without re-calling the callback for each retry. |
data PKESKRecipientKey Source #
Constructors
| PKESKRecipientKey | |
Fields
| |
data PKESKAttemptFailureKind Source #
Instances
data PKESKAttemptFailure Source #
Constructors
| PKESKAttemptFailure | |
Instances
| Show PKESKAttemptFailure Source # | |
| Eq PKESKAttemptFailure Source # | |
Defined in Codec.Encryption.OpenPGP.Types.Internal.Errors Methods (==) :: PKESKAttemptFailure -> PKESKAttemptFailure -> Bool Source # (/=) :: PKESKAttemptFailure -> PKESKAttemptFailure -> Bool Source # | |
data DecryptStructureError Source #
Instances
data DecryptOutcome Source #
Constructors
| DecryptClean | |
| DecryptTruncated | |
| DecryptTrailingData | |
| DecryptMalformedStructure !DecryptStructureError |
Instances
| Show DecryptOutcome Source # | |
| Eq DecryptOutcome Source # | |
Defined in Codec.Encryption.OpenPGP.Types.Internal.Errors Methods (==) :: DecryptOutcome -> DecryptOutcome -> Bool Source # (/=) :: DecryptOutcome -> DecryptOutcome -> Bool Source # | |
data DecryptReport Source #
Constructors
| DecryptReport | |
Instances
| Show DecryptReport Source # | |
| Eq DecryptReport Source # | |
Defined in Codec.Encryption.OpenPGP.Types.Internal.Errors Methods (==) :: DecryptReport -> DecryptReport -> Bool Source # (/=) :: DecryptReport -> DecryptReport -> Bool Source # | |
data DecryptSessionKeyResolutionReport Source #
Constructors
| DecryptSessionKeyResolutionReport | |
data PKESKResolverAttempt Source #
Constructors
| PKESKResolverAttempt | |
Instances
| Show PKESKResolverAttempt Source # | |
| Eq PKESKResolverAttempt Source # | |
Defined in Codec.Encryption.OpenPGP.Types.Internal.Errors Methods (==) :: PKESKResolverAttempt -> PKESKResolverAttempt -> Bool Source # (/=) :: PKESKResolverAttempt -> PKESKResolverAttempt -> Bool Source # | |
data PKESKResolverAttemptAction Source #
Constructors
| ResolverAttemptResolveWith (Maybe (KeyVersion, PubKeyAlgorithm)) | |
| ResolverAttemptSkip | |
| ResolverAttemptExhausted |
Instances
decryptSEIPDv2Payload :: SymmetricAlgorithm -> AEADAlgorithm -> Word8 -> Salt -> ByteString -> SessionKey -> Either SEIPDv2Failure ByteString Source #