openpgp-crypto-api-0.6.2: Implement cryptography for OpenPGP using crypto-api compatible libraries

Safe HaskellNone

Data.OpenPGP.CryptoAPI

Synopsis

Documentation

fingerprint :: Packet -> StringSource

Generate a key fingerprint from a PublicKeyPacket or SecretKeyPacket http://tools.ietf.org/html/rfc4880#section-12.2

signSource

Arguments

:: CryptoRandomGen g 
=> Message

SecretKeys, one of which will be used

-> SignatureOver

Data to sign, and optional signature packet

-> HashAlgorithm

HashAlgorithm to use in signature

-> String

KeyID of key to choose

-> Integer

Timestamp for signature (unless sig supplied)

-> g

Random number generator

-> (SignatureOver, g) 

Make a signature

In order to set more options on a signature, pass in a signature packet.

verifySource

Arguments

:: Message

Keys that may have made the signature

-> SignatureOver

Signatures to verify

-> SignatureOver

Will only contain signatures that passed

Verify a message signature

encryptSource

Arguments

:: CryptoRandomGen g 
=> [ByteString]

Passphrases, all of which will be used

-> Message

PublicKeys, all of which will be used

-> SymmetricAlgorithm

Cipher to use

-> Message

The Message to encrypt

-> g

Random number generator

-> Either GenError (Message, g) 

decryptAsymmetricSource

Arguments

:: Message

SecretKeys, one of which will be used

-> Message

A Message containing AsymmetricSessionKey and EncryptedData

-> Maybe Message 

Decrypt an OpenPGP message using secret key

decryptSymmetricSource

Arguments

:: [ByteString]

Passphrases, one of which will be used

-> Message

A Message containing SymetricSessionKey and EncryptedData

-> Maybe Message 

Decrypt an OpenPGP message using passphrase

decryptSecretKeySource

Arguments

:: ByteString

Passphrase

-> Packet

Encrypted SecretKeyPacket

-> Maybe Packet

Decrypted SecretKeyPacket