diff options
Diffstat (limited to 'lib/Kiki.hs')
-rw-r--r-- | lib/Kiki.hs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Kiki.hs b/lib/Kiki.hs index 9934aaa..523c8c4 100644 --- a/lib/Kiki.hs +++ b/lib/Kiki.hs | |||
@@ -554,9 +554,9 @@ writePublicKeyFiles :: KeyRingRuntime -> FileWriter -> MyIdentity -> IO () | |||
554 | writePublicKeyFiles rt fw myId@(MyIdentity _ grip) = do | 554 | writePublicKeyFiles rt fw myId@(MyIdentity _ grip) = do |
555 | 555 | ||
556 | -- Finally, export public keys if they do not exist. | 556 | -- Finally, export public keys if they do not exist. |
557 | either warn (write fw "root/.ssh/id_rsa.pub") $ show_ssh' "ssh-client" grip (rtKeyDB rt) | 557 | either warn (write fw "root/.ssh/id_rsa.pub") $ show_ssh' "ssh-client" (Just grip) (rtKeyDB rt) |
558 | either warn (write fw "ssh_host_rsa_key.pub") $ show_ssh' "ssh-server" grip (rtKeyDB rt) | 558 | either warn (write fw "ssh_host_rsa_key.pub") $ show_ssh' "ssh-server" (Just grip) (rtKeyDB rt) |
559 | either warn (write fw $ ipsecCertPath myId) $ show_pem' "ipsec" grip (rtKeyDB rt) pemFromPacket | 559 | either warn (write fw $ ipsecCertPath myId) $ show_pem' "ipsec" (Just grip) (rtKeyDB rt) pemFromPacket |
560 | 560 | ||
561 | let cs = listPeers rt | 561 | let cs = listPeers rt |
562 | known_hosts = L.concat $ map getSshKnownHosts $ cs | 562 | known_hosts = L.concat $ map getSshKnownHosts $ cs |
@@ -615,10 +615,10 @@ pemFromPacket k = do | |||
615 | return $ | 615 | return $ |
616 | writePEM PemPublicKey qq -- ("TODO "++show keyspec) | 616 | writePEM PemPublicKey qq -- ("TODO "++show keyspec) |
617 | 617 | ||
618 | show_pem :: String -> String -> KeyDB -> IO () | 618 | show_pem :: String -> Maybe Fingerprint -> KeyDB -> IO () |
619 | show_pem keyspec wkgrip db = either warn putStrLn $ show_pem' keyspec wkgrip db pemFromPacket | 619 | show_pem keyspec wkgrip db = either warn putStrLn $ show_pem' keyspec wkgrip db pemFromPacket |
620 | 620 | ||
621 | show_pem' :: String -> String -> KeyDB -> (Packet -> Either String b) -> Either String b | 621 | show_pem' :: String -> Maybe Fingerprint -> KeyDB -> (Packet -> Either String b) -> Either String b |
622 | show_pem' keyspec wkgrip db keyfmt = do | 622 | show_pem' keyspec wkgrip db keyfmt = do |
623 | let s = parseSpec wkgrip keyspec | 623 | let s = parseSpec wkgrip keyspec |
624 | flip (maybe . Left $ keyspec ++ ": not found") | 624 | flip (maybe . Left $ keyspec ++ ": not found") |
@@ -628,17 +628,17 @@ show_pem' keyspec wkgrip db keyfmt = do | |||
628 | warn :: String -> IO () | 628 | warn :: String -> IO () |
629 | warn str = hPutStrLn stderr str | 629 | warn str = hPutStrLn stderr str |
630 | 630 | ||
631 | show_sshfp :: String -> String -> KeyDB -> IO () | 631 | show_sshfp :: String -> Maybe Fingerprint -> KeyDB -> IO () |
632 | show_sshfp keyspec wkgrip db = do | 632 | show_sshfp keyspec wkgrip db = do |
633 | let s = parseSpec wkgrip keyspec | 633 | let s = parseSpec wkgrip keyspec |
634 | case selectPublicKey s db of | 634 | case selectPublicKey s db of |
635 | Nothing -> hPutStrLn stderr $ keyspec ++ ": not found" | 635 | Nothing -> hPutStrLn stderr $ keyspec ++ ": not found" |
636 | Just k -> Char8.putStrLn $ sshKeyToHostname k | 636 | Just k -> Char8.putStrLn $ sshKeyToHostname k |
637 | 637 | ||
638 | show_ssh :: String -> String -> KeyDB -> IO () | 638 | show_ssh :: String -> Maybe Fingerprint -> KeyDB -> IO () |
639 | show_ssh keyspec wkgrip db = either warn putStrLn $ show_ssh' keyspec wkgrip db | 639 | show_ssh keyspec wkgrip db = either warn putStrLn $ show_ssh' keyspec wkgrip db |
640 | 640 | ||
641 | show_ssh' :: String -> Fingerprint -> KeyDB -> Either String String | 641 | show_ssh' :: String -> Maybe Fingerprint -> KeyDB -> Either String String |
642 | show_ssh' keyspec wkgrip db = do | 642 | show_ssh' keyspec wkgrip db = do |
643 | let s = parseSpec wkgrip keyspec | 643 | let s = parseSpec wkgrip keyspec |
644 | flip (maybe . Left $ keyspec ++ ": not found") | 644 | flip (maybe . Left $ keyspec ++ ": not found") |