Safe Haskell | None |
---|---|
Language | Haskell2010 |
OpenSSL.EVP.Internal
- newtype Cipher = Cipher (Ptr EVP_CIPHER)
- data EVP_CIPHER
- withCipherPtr :: Cipher -> (Ptr EVP_CIPHER -> IO a) -> IO a
- cipherIvLength :: Cipher -> Int
- newtype CipherCtx = CipherCtx (ForeignPtr EVP_CIPHER_CTX)
- data EVP_CIPHER_CTX
- newCipherCtx :: IO CipherCtx
- withCipherCtxPtr :: CipherCtx -> (Ptr EVP_CIPHER_CTX -> IO a) -> IO a
- withNewCipherCtxPtr :: (Ptr EVP_CIPHER_CTX -> IO a) -> IO a
- data CryptoMode
- cipherSetPadding :: CipherCtx -> Int -> IO CipherCtx
- cipherInitBS :: Cipher -> ByteString -> ByteString -> CryptoMode -> IO CipherCtx
- cipherUpdateBS :: CipherCtx -> ByteString -> IO ByteString
- cipherFinalBS :: CipherCtx -> IO ByteString
- cipherStrictly :: CipherCtx -> ByteString -> IO ByteString
- cipherLazily :: CipherCtx -> ByteString -> IO ByteString
- newtype Digest = Digest (Ptr EVP_MD)
- data EVP_MD
- withMDPtr :: Digest -> (Ptr EVP_MD -> IO a) -> IO a
- newtype DigestCtx = DigestCtx (ForeignPtr EVP_MD_CTX)
- data EVP_MD_CTX
- withDigestCtxPtr :: DigestCtx -> (Ptr EVP_MD_CTX -> IO a) -> IO a
- digestUpdateBS :: DigestCtx -> ByteString -> IO ()
- digestFinalBS :: DigestCtx -> IO ByteString
- digestFinal :: DigestCtx -> IO String
- digestStrictly :: Digest -> ByteString -> IO DigestCtx
- digestLazily :: Digest -> ByteString -> IO DigestCtx
- newtype HmacCtx = HmacCtx (ForeignPtr HMAC_CTX)
- data HMAC_CTX
- withHmacCtxPtr :: HmacCtx -> (Ptr HMAC_CTX -> IO a) -> IO a
- hmacUpdateBS :: HmacCtx -> ByteString -> IO ()
- hmacFinalBS :: HmacCtx -> IO ByteString
- hmacLazily :: Digest -> ByteString -> ByteString -> IO HmacCtx
- newtype VaguePKey = VaguePKey (ForeignPtr EVP_PKEY)
- data EVP_PKEY
- class PKey k where
- createPKey :: (Ptr EVP_PKEY -> IO a) -> IO VaguePKey
- wrapPKeyPtr :: Ptr EVP_PKEY -> IO VaguePKey
- withPKeyPtr :: VaguePKey -> (Ptr EVP_PKEY -> IO a) -> IO a
- withPKeyPtr' :: PKey k => k -> (Ptr EVP_PKEY -> IO a) -> IO a
- unsafePKeyToPtr :: VaguePKey -> Ptr EVP_PKEY
- touchPKey :: VaguePKey -> IO ()
Documentation
Cipher
is an opaque object that represents an algorithm of
symmetric cipher.
Constructors
Cipher (Ptr EVP_CIPHER) |
data EVP_CIPHER #
withCipherPtr :: Cipher -> (Ptr EVP_CIPHER -> IO a) -> IO a #
cipherIvLength :: Cipher -> Int #
Constructors
CipherCtx (ForeignPtr EVP_CIPHER_CTX) |
data EVP_CIPHER_CTX #
newCipherCtx :: IO CipherCtx #
withCipherCtxPtr :: CipherCtx -> (Ptr EVP_CIPHER_CTX -> IO a) -> IO a #
withNewCipherCtxPtr :: (Ptr EVP_CIPHER_CTX -> IO a) -> IO a #
data CryptoMode #
CryptoMode
represents instruction to cipher
and such like.
Arguments
:: Cipher | |
-> ByteString | key |
-> ByteString | IV |
-> CryptoMode | |
-> IO CipherCtx |
cipherUpdateBS :: CipherCtx -> ByteString -> IO ByteString #
cipherFinalBS :: CipherCtx -> IO ByteString #
cipherStrictly :: CipherCtx -> ByteString -> IO ByteString #
cipherLazily :: CipherCtx -> ByteString -> IO ByteString #
Digest
is an opaque object that represents an algorithm of
message digest.
Constructors
DigestCtx (ForeignPtr EVP_MD_CTX) |
data EVP_MD_CTX #
withDigestCtxPtr :: DigestCtx -> (Ptr EVP_MD_CTX -> IO a) -> IO a #
digestUpdateBS :: DigestCtx -> ByteString -> IO () #
digestFinalBS :: DigestCtx -> IO ByteString #
digestFinal :: DigestCtx -> IO String #
digestStrictly :: Digest -> ByteString -> IO DigestCtx #
digestLazily :: Digest -> ByteString -> IO DigestCtx #
Constructors
HmacCtx (ForeignPtr HMAC_CTX) |
hmacUpdateBS :: HmacCtx -> ByteString -> IO () #
hmacFinalBS :: HmacCtx -> IO ByteString #
hmacLazily :: Digest -> ByteString -> ByteString -> IO HmacCtx #
VaguePKey is a ForeignPtr
to EVP_PKEY
, that is either public
key or a ker pair. We can't tell which at compile time.
Constructors
VaguePKey (ForeignPtr EVP_PKEY) |
Minimal complete definition
Methods
Wrap the key (i.g. RSA) into EVP_PKEY
.
fromPKey :: VaguePKey -> IO (Maybe k) #
Do the same as EVP_PKEY_size().
pkeyDefaultMD :: k -> IO Digest #
Return the default digesting algorithm for the key.
Instances
unsafePKeyToPtr :: VaguePKey -> Ptr EVP_PKEY #