diff --git a/Models/AcmeChallenge.cs b/Models/AcmeChallenge.cs index 79c8dca..7e8f139 100644 --- a/Models/AcmeChallenge.cs +++ b/Models/AcmeChallenge.cs @@ -1,10 +1,14 @@ -namespace KCert.Models; +using System.Text.Json.Nodes; + +namespace KCert.Models; public class AcmeChallenge { - public string Url { get; set; } = default!; - public string Type { get; set; } = default!; - public string Status { get; set; } = default!; - public string Token { get; set; } = default!; - public string Validated { get; set; } = default!; + public required string Url { get; init; } + public required string Type { get; init; } + public required string Status { get; init; } + public required string Token { get; init; } + public required string Validated { get; init; } + + public JsonObject? Error { get; init; } } diff --git a/Models/AcmeOrderResponse.cs b/Models/AcmeOrderResponse.cs index f15abb7..c4db004 100644 --- a/Models/AcmeOrderResponse.cs +++ b/Models/AcmeOrderResponse.cs @@ -1,11 +1,15 @@ -namespace KCert.Models; +using System.Text.Json.Nodes; + +namespace KCert.Models; public class AcmeOrderResponse : AcmeResponse { - public string Status { get; set; } = default!; - public string Expires { get; set; } = default!; - public AcmeIdentifier[] Identifiers { get; set; } = default!; - public string[] Authorizations { get; set; } = default!; - public string Finalize { get; set; } = default!; - public string Certificate { get; set; } = default!; + public required string Status { get; init; } + public required string Expires { get; init; } + public AcmeIdentifier[] Identifiers { get; init; } + public required string[] Authorizations { get; init; } + public required string Finalize { get; init; } + public required string Certificate { get; init; } + + public JsonObject? Error { get; init; } } diff --git a/Services/RenewalHandler.cs b/Services/RenewalHandler.cs index 1c60513..f80237b 100644 --- a/Services/RenewalHandler.cs +++ b/Services/RenewalHandler.cs @@ -101,7 +101,15 @@ private async Task ValidateAuthorizationAsync(string key, string kid, st { await Task.Delay(waitTime); finalize = await acme.GetOrderAsync(key, orderUri, kid, finalize.Nonce); - logbuf.LogInformation("Check Order {orderUri}: {finalize.Status}", orderUri, finalize.Status); + + if (finalize.Error is { } error) + { + logbuf.LogWarning("Check Order {orderUri}: {finalize.Status}\nError: {error}", orderUri, finalize.Status, error); + } + else + { + logbuf.LogInformation("Check Order {orderUri}: {finalize.Status}", orderUri, finalize.Status); + } } if (finalize.Status != "valid")