hOpenPGP-3.2: 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 #

Deprecated: Use encryptSecretKeyWithPolicy instead

generates pseudo-random salt and IV

changePrivateKeyPassphrase :: (SomePKPayload, SKAddendum) -> ByteString -> Salt -> IV -> ByteString -> Either String SKAddendum Source #

Deprecated: Use reencryptSecretKey instead

changePrivateKeyPassphraseRandom :: MonadRandom m => (SomePKPayload, SKAddendum) -> ByteString -> ByteString -> m (Either String SKAddendum) Source #

Deprecated: Use reencryptSecretKeyRandom instead

reencryptSecretKeyRandomEither :: MonadRandom m => SecretKey -> ByteString -> m (Either String SecretKey) Source #

Deprecated: Use changeSecretKeyPassphrase or reencryptSecretKeyRandom instead

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)

changeSecretKeyPassphrase :: MonadRandom m => SecretKey -> Passphrase -> Passphrase -> m (Either SecretKeyError SecretKey) Source #

Deprecated: Use reencryptSecretKey or reencryptSecretKeyRandom instead