Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        public async Task <OrderDetails> CreateOrderAsync(IEnumerable <string> dnsIdentifiers)
        {
            ACMESharpOrderDetails acmeSharpOrderDetails = await _client.CreateOrderAsync(dnsIdentifiers);

            var orderDetails = new OrderDetails(acmeSharpOrderDetails);

            orderDetails.AssertOkResponse();
            return(orderDetails);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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));
        }