hOpenPGP-3.0.1.1: native Haskell implementation of OpenPGP (RFC9580)
Safe HaskellNone
LanguageHaskell2010

Codec.Encryption.OpenPGP.SecretKey

Synopsis

Documentation

encryptPrivateKey :: MonadRandom m => OpenPGPPolicy -> SomePKPayload -> SKAddendum -> ByteString -> m (Either String SKAddendum) Source #

generates pseudo-random salt and IV

reencryptPrivateKeyTyped :: forall (v :: KeyVersion). SomePKPayload -> SKAddendumV v -> Salt -> IV -> SKey -> ByteString -> Either String (SKAddendumV v) Source #

Version-preserving re-encryption of a typed secret-key addendum.

Each constructor family is re-encrypted in kind: * V6 variants (AEAD, SHA1, Sym, Unencrypted) → SKAAEADV6 (default v6 policy) * SKA16bit / SKASHA1Legacy → same S2K family with updated salt * SKAAEADLegacy → re-protected as SKASHA1Legacy (standard v3/v4 S2K) * SKASymLegacy → legacy CFB re-encryption as SKASymLegacy * SKAUnencryptedLegacy → Left (cannot re-encrypt unencrypted legacy keys)