@@ -2,8 +2,6 @@ open Lwt.Infix
22
33open Acme_common
44
5- module Pem = X509.Encoding. Pem
6-
75type t = {
86 account_key : Nocrypto.Rsa .priv ;
97 mutable next_nonce : string ;
@@ -329,13 +327,14 @@ let rec poll_until ?ctx sleep cli challenge =
329327
330328let body_to_certificate der =
331329 let der = Cstruct. of_string der in
332- match X509.Encoding. parse der with
333- | Some crt -> Ok crt
334- | None -> Error (`Msg " I got gibberish while trying to decode the new certificate." )
330+ match X509.Certificate. decode_der der with
331+ | Ok crt -> Ok crt
332+ | Error (`Msg e ) ->
333+ Error (`Msg (" I got gibberish while trying to decode the new certificate: " ^ e))
335334
336335let new_cert ?ctx cli csr =
337336 let url = cli.d.new_cert in
338- let der = X509.Encoding. cs_of_signing_request csr |> Cstruct. to_string |> B64u. urlencode in
337+ let der = X509.Signing_request. encode_der csr |> Cstruct. to_string |> B64u. urlencode in
339338 let data = Printf. sprintf {| {" resource" : " new-cert" , " csr" : " %s" }| } der in
340339 http_post_jws ?ctx cli data url > |= function
341340 | Error e -> Error e
@@ -352,12 +351,13 @@ let sign_certificate ?ctx ?(solver = default_http_solver) cli sleep csr =
352351 (fun r domain ->
353352 match r with
354353 | Ok () ->
355- new_authz ?ctx cli domain solver.get_challenge >> = fun challenge ->
356- solver.solve_challenge sleep cli challenge domain >> = fun () ->
354+ let name = Domain_name. to_string domain in
355+ new_authz ?ctx cli name solver.get_challenge >> = fun challenge ->
356+ solver.solve_challenge sleep cli challenge name >> = fun () ->
357357 challenge_met ?ctx cli solver.name challenge >> = fun () ->
358358 poll_until ?ctx sleep cli challenge
359359 | Error r -> Lwt. return_error r)
360- (Ok () ) domains >> = fun () ->
360+ (Ok () ) ( Domain_name.Set. elements domains) >> = fun () ->
361361 new_cert ?ctx cli csr >> = fun pem ->
362362 Lwt. return_ok pem
363363
0 commit comments