~
This commit is contained in:
parent
c8863e1a95
commit
916941ace3
4 changed files with 76 additions and 72 deletions
|
|
@ -167,21 +167,22 @@ let sm_key_fpath =
|
|||
(* we load sm_key separately
|
||||
we don't accept non-key files in key_dir *)
|
||||
let load_key ~section_name fpath =
|
||||
match Fpath.equal (Fpath.normalize fpath) sm_key_fpath with
|
||||
| true -> Ok None
|
||||
| false -> (
|
||||
match parse_filename fpath with
|
||||
| None -> Fmt.error "invalid file `%a`" Fpath.pp fpath
|
||||
| Some (t1, t2) ->
|
||||
let* priv = read_rsa fpath in
|
||||
let pub = RsaPrivateKey.pub_of_priv priv in
|
||||
Ok (Some { section_name; priv; pub; t1; t2 }))
|
||||
match parse_filename fpath with
|
||||
| None -> Fmt.error "invalid file `%a`" Fpath.pp fpath
|
||||
| Some (t1, t2) ->
|
||||
let+ priv = read_rsa fpath in
|
||||
let pub = RsaPrivateKey.pub_of_priv priv in
|
||||
{ section_name; priv; pub; t1; t2 }
|
||||
|
||||
let load_section section_name =
|
||||
let section_fpath = Fpath.(v Cfg.key_dir / section_name) in
|
||||
let* l = get_key_dir_contents section_fpath in
|
||||
let* l = list_map (load_key ~section_name) l in
|
||||
let keys = List.filter_map Fun.id l in
|
||||
let l =
|
||||
l
|
||||
|> List.map Fpath.normalize
|
||||
|> List.filter (fun fpath -> not @@ Fpath.equal fpath sm_key_fpath)
|
||||
in
|
||||
let* keys = list_map (load_key ~section_name) l in
|
||||
Ok keys
|
||||
|
||||
let load () =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue