rm util.ml + clean up
This commit is contained in:
parent
a23e59dfca
commit
439fdc6a30
7 changed files with 127 additions and 140 deletions
|
|
@ -21,7 +21,14 @@ open Crypto
|
|||
open Time
|
||||
module Sfn = Mfat.Sfn
|
||||
module Spath = Mfat.Spath
|
||||
module Cfg = Config.Exchange_secmod_eddsa
|
||||
|
||||
module Cfg = struct
|
||||
include Config.Exchange_secmod_eddsa
|
||||
|
||||
(* 8.3 filenames for FAT *)
|
||||
let key_dir = Config.spath "/EDDSA"
|
||||
let sm_key = Config.spath "/SM_EDDSA"
|
||||
end
|
||||
|
||||
type key = {
|
||||
priv: EddsaPrivateKey.t;
|
||||
|
|
@ -127,16 +134,13 @@ let load fs =
|
|||
else Fat.mkdir fs Cfg.key_dir |> unwrap_msg
|
||||
in
|
||||
let* l = Fat.ls fs Cfg.key_dir |> unwrap_msg in
|
||||
let l = List.map (fun entry -> entry.Fat.name) l in
|
||||
let l = List.map (Spath.add Cfg.key_dir) l in
|
||||
let l =
|
||||
List.filter (fun spath -> not @@ Spath.equal spath Cfg.sm_priv_key) l
|
||||
in
|
||||
let l = List.map (fun entry -> Spath.add Cfg.key_dir entry.Fat.name) l in
|
||||
let l = List.filter (fun spath -> not @@ Spath.equal spath Cfg.sm_key) l in
|
||||
let* keys = list_map (read_key fs) l in
|
||||
match keys with
|
||||
| [] -> Ok None
|
||||
| _l ->
|
||||
let* sm_priv, sm_pub = read_eddsa fs Cfg.sm_priv_key in
|
||||
let* sm_priv, sm_pub = read_eddsa fs Cfg.sm_key in
|
||||
let ht = Hashtbl.create 0xff in
|
||||
let () = List.iter (fun k -> Hashtbl.replace ht k.pub k) keys in
|
||||
Ok (Some { fs; sm_priv; sm_pub; ht })
|
||||
|
|
@ -152,7 +156,7 @@ let init fs =
|
|||
m "generated secmod key: `%s`" (EddsaPublicKey.to_b32 sm_pub));
|
||||
let ht = Hashtbl.create 0xff in
|
||||
let t = { fs; sm_priv; sm_pub; ht } in
|
||||
let* () = write_eddsa fs Cfg.sm_priv_key t.sm_priv in
|
||||
let* () = write_eddsa fs Cfg.sm_key t.sm_priv in
|
||||
Ok t
|
||||
in
|
||||
let now = TimeAbsolute.of_ptime (Mirage_ptime.now ()) in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue