mte/.jjconflict-base-0/src/data_file.ml

36 lines
875 B
OCaml
Raw Normal View History

2025-11-29 14:03:37 +01:00
open Bos.OS
open Syntax
open Crypto
let read fname =
2026-01-24 06:12:52 +01:00
let* b = File.exists fname |> Syntax.unwrap_err_msg in
2025-11-29 14:03:37 +01:00
match b with
| false -> Ok None
| true ->
2026-01-24 06:12:52 +01:00
let+ content = File.read fname |> Syntax.unwrap_err_msg in
2025-11-29 14:03:37 +01:00
Some content
2026-01-24 06:12:52 +01:00
let write_eddsa fname priv =
EddsaPrivateKey.to_octets priv |> File.write fname |> Syntax.unwrap_err_msg
let write_rsa fname priv =
RsaPrivateKey.to_octets priv |> File.write fname |> Syntax.unwrap_err_msg
2025-11-29 14:03:37 +01:00
2025-12-15 08:56:44 +01:00
let read_eddsa fname =
2025-12-07 06:29:06 +01:00
let* opt = read fname in
2025-11-29 14:03:37 +01:00
match opt with
| None -> Ok None
2025-12-07 06:29:06 +01:00
| Some data -> (
2025-12-15 08:56:44 +01:00
EddsaPrivateKey.of_octets data |> function
2026-01-24 06:12:52 +01:00
| Error e -> Error e
2025-12-15 08:56:44 +01:00
| Ok v -> Ok (Some v))
2025-11-29 14:03:37 +01:00
2025-12-15 08:56:44 +01:00
let read_rsa fname =
2025-12-07 06:29:06 +01:00
let* opt = read fname in
2025-11-29 14:03:37 +01:00
match opt with
| None -> Ok None
2025-12-07 06:29:06 +01:00
| Some data -> (
2025-12-15 08:56:44 +01:00
RsaPrivateKey.of_octets data |> function
2026-01-24 06:12:52 +01:00
| Error e -> Error e
2025-12-15 08:56:44 +01:00
| Ok v -> Ok (Some v))