]> gitweb @ CieloNegro.org - blackboard-dns.git/blobdiff - ClientMain.hs
Split commands off
[blackboard-dns.git] / ClientMain.hs
index b96b430275439d3a2b1cc52784b195af52e8e23e..e979b95ecf525621b7d69c798f7f00d2a0ed2577 100644 (file)
@@ -1,17 +1,9 @@
 module Main where
 
 import           Control.Monad
-import           Control.Monad.Trans
+import           DDNS.Client.MakeReq
 import           OpenSSL
-import           OpenSSL.PEM
-import           OpenSSL.RSA
-import           OpenSSL.X509.Request
-import           System.Console.Haskeline
 import           System.Console.ParseArgs
-import           System.IO
-import           System.Posix.Files
-import           System.Posix.Uname
-
 
 data Options
     = Help
@@ -45,38 +37,3 @@ main = withOpenSSL $
             "makereq"
                 -> makeReq
             _   -> usageError m ""
-
-
-makeReq :: IO ()
-makeReq
-    = do fqdn <- runInputT defaultSettings $
-                 do defaultFqdn <- liftM uNodeName $ liftIO uname
-                    fqdn        <- getInputLine ("What's your FQDN? (default: " ++ defaultFqdn ++ "): ")
-                    case fqdn of
-                      Just s@(_:_) -> return s
-                      _            -> return defaultFqdn
-
-         putStrLn "Generating RSA keypair..."
-         key <- generateRSAKey 1024 3 Nothing
-
-         let pubFile = fqdn ++ ".pub"
-         withFile pubFile WriteMode $ \ h ->
-             writePublicKey key >>= hPutStr h
-         putStrLn ("Wrote " ++ pubFile)
-
-         let keyFile = fqdn ++ ".key"
-         withFile keyFile WriteMode $ \ h ->
-             writePKCS8PrivateKey key Nothing >>= hPutStr h
-         setFileMode keyFile ownerReadMode
-         putStrLn ("Wrote " ++ keyFile ++ " (with no encryption)")
-
-         req <- newX509Req
-         setVersion     req 2
-         setSubjectName req [("CN", fqdn)]
-         setPublicKey   req key
-         signX509Req    req key Nothing
-         let reqFile = fqdn ++ ".req"
-         withFile reqFile WriteMode $ \ h ->
-             writeX509Req req ReqNewFormat >>= hPutStr h
-         putStrLn ("Wrote " ++ reqFile)
-         putStrLn ("Now send " ++ reqFile ++ " to the server operator and tell him/her to sign it.")
\ No newline at end of file