X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=blackboard-dns.git;a=blobdiff_plain;f=DDNS%2FServer%2FSignReq.hs;h=6bcfeffbc8ab45279d71fe0a8576804bfe89db39;hp=cfc4826708a52a463e73ae23213833a571491395;hb=1abf9ad51c79257c0bce8e134fdd48a2ff0ef373;hpb=20021ec127c5574db472d88ff47cbf7e656969f4 diff --git a/DDNS/Server/SignReq.hs b/DDNS/Server/SignReq.hs index cfc4826..6bcfeff 100644 --- a/DDNS/Server/SignReq.hs +++ b/DDNS/Server/SignReq.hs @@ -20,11 +20,8 @@ import System.IO signReq :: KeyPair k => k -> X509 -> IO () signReq sKey sCert = runInputT (setComplete completeFilename defaultSettings) $ - do file <- getInputLine "Which X.509 request do you want to sign?: " - case trim file of - Just file' - -> liftIO $ - do req <- readX509Req =<< readFile file' + do file <- getInputLine' "Which X.509 request do you want to sign?: " + liftIO $ do req <- readX509Req =<< readFile file key <- Req.getPublicKey req vst <- verifyX509Req req key unless (vst == VerifySuccess) @@ -36,11 +33,10 @@ signReq sKey sCert setNotAfter cert =<< liftM (addUTCTime (20 * 365 * 24 * 60 * 60)) getCurrentTime signX509 cert sKey Nothing - let certFile = file' `replaceExtension` ".cert" + let certFile = file `replaceExtension` ".cert" withFile certFile WriteMode $ \ h -> writeX509 cert >>= hPutStr h putStrLn ("Wrote " ++ certFile) Just (_, fqdn) <- liftM (find ((== "CN") . fst)) $ X509.getSubjectName cert False putStrLn ("Now send " ++ certFile ++ " back to " ++ fqdn ++ ".") - _ -> return ()