| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Codec.Encryption.OpenPGP.SecretKey
Synopsis
- decryptPrivateKey :: (SomePKPayload, SKAddendum) -> ByteString -> Either String SKAddendum
- reinterpretUnknownSKeyForPKPayload :: SomePKPayload -> SKey -> Either String SKey
- mkUnencryptedSKAddendum :: SomePKPayload -> SKey -> Either String SKAddendum
- encryptPrivateKeyWithPolicyAndSaltAndIV :: OpenPGPPolicy -> SomePKPayload -> Salt -> IV -> SKAddendum -> ByteString -> Either String SKAddendum
- encryptPrivateKey :: MonadRandom m => OpenPGPPolicy -> SomePKPayload -> SKAddendum -> ByteString -> m (Either String SKAddendum)
- changePrivateKeyPassphrase :: (SomePKPayload, SKAddendum) -> ByteString -> Salt -> IV -> ByteString -> Either String SKAddendum
- changePrivateKeyPassphraseRandom :: MonadRandom m => (SomePKPayload, SKAddendum) -> ByteString -> ByteString -> m (Either String SKAddendum)
- changeSecretKeyPassphrase :: SecretKey -> ByteString -> Salt -> IV -> ByteString -> Either String SecretKey
- changeSecretKeyPassphraseRandom :: MonadRandom m => SecretKey -> ByteString -> ByteString -> m (Either String SecretKey)
- reencryptSecretKeyRandomEither :: MonadRandom m => SecretKey -> ByteString -> m (Either String SecretKey)
- reencryptPrivateKeyTyped :: forall (v :: KeyVersion). SomePKPayload -> SKAddendumV v -> Salt -> IV -> SKey -> ByteString -> Either String (SKAddendumV v)
Documentation
decryptPrivateKey :: (SomePKPayload, SKAddendum) -> ByteString -> Either String SKAddendum Source #
encryptPrivateKeyWithPolicyAndSaltAndIV :: OpenPGPPolicy -> SomePKPayload -> Salt -> IV -> SKAddendum -> ByteString -> Either String SKAddendum Source #
encryptPrivateKey :: MonadRandom m => OpenPGPPolicy -> SomePKPayload -> SKAddendum -> ByteString -> m (Either String SKAddendum) Source #
generates pseudo-random salt and IV
changePrivateKeyPassphrase :: (SomePKPayload, SKAddendum) -> ByteString -> Salt -> IV -> ByteString -> Either String SKAddendum Source #
changePrivateKeyPassphraseRandom :: MonadRandom m => (SomePKPayload, SKAddendum) -> ByteString -> ByteString -> m (Either String SKAddendum) Source #
changeSecretKeyPassphrase :: SecretKey -> ByteString -> Salt -> IV -> ByteString -> Either String SecretKey Source #
changeSecretKeyPassphraseRandom :: MonadRandom m => SecretKey -> ByteString -> ByteString -> m (Either String SecretKey) Source #
reencryptSecretKeyRandomEither :: MonadRandom m => SecretKey -> ByteString -> m (Either String SecretKey) Source #
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)