| 123456789101112131415161718192021 |
- module Main where
- import Codec.Crypto.RSA
- import Crypto.Random
- import Crypto.Random.DRBG
- import Data.Binary
- import qualified Data.ByteString.Lazy as BS
- import Numeric (showHex)
- toHex :: (Binary a) => a -> String
- toHex = concat . map (flip showHex "") . BS.unpack . encode
- main :: IO ()
- main = do
- (pub, priv) <- genPair
- putStrLn ("pub: " ++ toHex pub)
- putStrLn ("priv: " ++ toHex priv)
- genPair :: IO (PublicKey, PrivateKey)
- genPair = go `fmap` (newGenIO :: IO HashDRBG)
- where go g = let (pub, priv, _) = generateKeyPair g 1024 in (pub, priv)
|