public OrderDetails(ACMESharpOrderDetails orderDetails) { ACMESharpOrder order = orderDetails.Payload; Status = Enum.Parse <OrderStatus>(order.Status, true); if (!string.IsNullOrEmpty(orderDetails.Payload.Expires)) { if (DateTimeOffset.TryParse(orderDetails.Payload.Expires, out DateTimeOffset dateTimeOffset)) { Expires = dateTimeOffset.ToUnixTimeMilliseconds(); } else { throw new ArgumentException($"Invalid expire time {orderDetails.Payload.Expires}"); } } Url = orderDetails.OrderUrl; FinalizeUrl = orderDetails.Payload.Finalize; CertificateUrl = orderDetails.Payload.Certificate; AuthorizationUrls = orderDetails.Payload.Authorizations; Error = orderDetails.Payload.Error; }
public async Task <OrderDetails> CreateOrderAsync(IEnumerable <string> dnsIdentifiers) { ACMESharpOrderDetails acmeSharpOrderDetails = await _client.CreateOrderAsync(dnsIdentifiers); var orderDetails = new OrderDetails(acmeSharpOrderDetails); orderDetails.AssertOkResponse(); return(orderDetails); }
public async Task <OrderDetails> GetOrderDetailsAsync(OrderDetails orderDetails) { ACMESharpOrderDetails acmeSharpOrderDetails = await _client.GetOrderDetailsAsync(orderDetails.Url); var newOrderDetails = new OrderDetails(acmeSharpOrderDetails); newOrderDetails.AssertOkResponse(); newOrderDetails.Merge(orderDetails); return(newOrderDetails); }
public async Task <OrderDetails> FinalizeOrderAsync( OrderDetails orderDetails, byte[] derEncodedCsr) { ACMESharpOrderDetails acmeOrderDetails = await _client.FinalizeOrderAsync(orderDetails.FinalizeUrl, derEncodedCsr); OrderDetails newOrderDetails = new OrderDetails(acmeOrderDetails); newOrderDetails.AssertOkResponse(); newOrderDetails.Merge(orderDetails); return(newOrderDetails); }
public async Task <Org.BouncyCastle.X509.X509Certificate> GetOrderCertificateAsync( OrderDetails order ) { ACMESharpOrderDetails acmeSharpOrderDetails = new ACMESharpOrderDetails { Payload = new ACMESharpOrder { Certificate = order.CertificateUrl } }; byte[] certBytes = await _client.GetOrderCertificateAsync(acmeSharpOrderDetails); return(_certCodec.Decode(certBytes)); }