get_key keypath = do
  let payload = BC.pack keypath
  let Right decoded_key = Armor.decode payload
  let ((Armor _ _ bskey):_) = decoded_key
  let key = Binary.decode bskey
  TOD tod _ <- getClockTime
  rng <- newGenIO :: IO SystemRandom
  let time = (fromIntegral tod :: Integer)
  return (key, (time, rng))
get_key keypath = do
  let payload = BC.pack keypath
  let Right decoded_key = Armor.decode payload
  let ((Armor _ _ bskey):_) = decoded_key
  let key = Binary.decode bskey
  TOD tod _ <- getClockTime
  rng <- newGenIO :: IO SystemRandom
  let time = (fromIntegral tod :: Integer)
  return (key, (time, rng))
get_key keypath = do
  let payload = BC.pack keypath
  let Right decoded_key = Armor.decode payload
  let ((Armor _ _ bskey):_) = decoded_key
  let key = Binary.decode bskey
  TOD tod _ <- getClockTime
  rng <- newGenIO :: IO SystemRandom
  let time = (fromIntegral tod :: Integer)
  return (key, (time, rng))