ACMESharp.AcmeClient.RequestCertificate C# (CSharp) Method

RequestCertificate() public method

public RequestCertificate ( string csrContent ) : ACMESharp.CertificateRequest
csrContent string
return ACMESharp.CertificateRequest
        public CertificateRequest RequestCertificate(string csrContent)
        {
            AssertInit();
            AssertRegistration();

            var requMsg = new NewCertRequest
            {
                Csr = csrContent
            };

            var resp = RequestHttpPost(new Uri(RootUrl,
                    Directory[AcmeServerDirectory.RES_NEW_CERT]), requMsg);

            if (resp.IsError)
                throw new AcmeWebException(resp.Error as WebException,
                        "Unexpected error", resp);

            if (resp.StatusCode != HttpStatusCode.Created)
                throw new AcmeProtocolException("Unexpected response status code", resp);

            var uri = resp.Headers[AcmeProtocol.HEADER_LOCATION];
            if (string.IsNullOrEmpty(uri))
                throw new AcmeProtocolException("Response is missing a certificate resource URI", resp);

            // This may be available immediately or it may need to be requeried for
            var certRequ = new CertificateRequest
            {
                StatusCode = resp.StatusCode,
                CsrContent = csrContent,
                Uri = uri,
                Links = resp.Links,
            };
            certRequ.SetCertificateContent(resp.RawContent);

            return certRequ;
        }