{-| Module : Botan.Bindings.RSA Description : Algorithm specific key operations: RSA Copyright : (c) Leo D, 2023 License : BSD-3-Clause Maintainer : leo@apotheca.io Stability : experimental Portability : POSIX -} {-# LANGUAGE CApiFFI #-} module Botan.Bindings.PubKey.RSA where import Botan.Bindings.MPI import Botan.Bindings.Prelude import Botan.Bindings.PubKey foreign import capi safe "botan/ffi.h botan_privkey_load_rsa" botan_privkey_load_rsa :: Ptr BotanPrivKey -- ^ __key__ -> BotanMP -- ^ __p__ -> BotanMP -- ^ __q__ -> BotanMP -- ^ __e__ -> IO CInt foreign import capi safe "botan/ffi.h botan_privkey_load_rsa_pkcs1" botan_privkey_load_rsa_pkcs1 :: Ptr BotanPrivKey -- ^ __key__ -> ConstPtr Word8 -- ^ __bits[]__ -> CSize -- ^ __len__ -> IO CInt foreign import capi safe "botan/ffi.h botan_privkey_rsa_get_privkey" botan_privkey_rsa_get_privkey :: BotanPrivKey -- ^ __rsa_key__ -> Ptr Word8 -- ^ __out[]__ -> Ptr CSize -- ^ __out_len__ -> Word32 -- ^ __flags__ -> IO CInt foreign import capi safe "botan/ffi.h botan_pubkey_load_rsa" botan_pubkey_load_rsa :: Ptr BotanPubKey -- ^ __key__ -> BotanMP -- ^ __n__ -> BotanMP -- ^ __e__ -> IO CInt