mirror of
https://github.com/certbot/certbot.git
synced 2026-05-28 04:34:11 -04:00
Split up poll_order_and_request_issuance.
This commit is contained in:
parent
2a430bb7a5
commit
77f7cf2c2e
2 changed files with 19 additions and 9 deletions
|
|
@ -597,10 +597,15 @@ class ClientV2(ClientBase):
|
|||
authorizations=authorizations,
|
||||
csr_pem=csr_pem)
|
||||
|
||||
def poll_order_and_request_issuance(self, orderr, max_time=datetime.timedelta(seconds=90)):
|
||||
def poll_and_finalize(self, orderr, deadline=None):
|
||||
if deadline is None:
|
||||
deadline = datetime.datetime.now() + datetime.timedelta(seconds=90)
|
||||
orderr = self.poll_authorizations(orderr, deadline)
|
||||
return self.finalize_order(orderr, deadline)
|
||||
|
||||
def poll_authorizations(self, orderr, deadline):
|
||||
"""Poll Order Resource for status."""
|
||||
responses = []
|
||||
deadline = datetime.datetime.now() + max_time
|
||||
for url in orderr.body.authorizations:
|
||||
while datetime.datetime.now() < deadline:
|
||||
time.sleep(1)
|
||||
|
|
@ -615,8 +620,9 @@ class ClientV2(ClientBase):
|
|||
raise Exception("failed challenge for %s: %s" %
|
||||
(authzr.body.identifier.value, chall.error))
|
||||
raise Exception("failed authorization: %s" % authzr.body)
|
||||
latest = self._order_resource_from_response(self.net.get(orderr.uri), uri=orderr.uri)
|
||||
return self._order_resource_from_response(self.net.get(orderr.uri), uri=orderr.uri)
|
||||
|
||||
def finalize_order(self, orderr, deadline):
|
||||
csr = OpenSSL.crypto.load_certificate_request(
|
||||
OpenSSL.crypto.FILETYPE_PEM, orderr.csr_pem)
|
||||
wrapped_csr = messages.CertificateRequest(csr=jose.ComparableX509(csr))
|
||||
|
|
|
|||
|
|
@ -490,13 +490,13 @@ class Order(ResourceBody):
|
|||
"""Order Resource Body.
|
||||
|
||||
:ivar buffer csr: CSR in pem format.
|
||||
:ivar string status:
|
||||
:ivar list of string authorizations:
|
||||
:ivar datetime.datetime expires:
|
||||
|
||||
:ivar acme.messages.Status status:
|
||||
:ivar list of string authorizations: URLs of authorizations.
|
||||
:ivar datetime.datetime expires: When the order expires.
|
||||
"""
|
||||
identifiers = jose.Field('identifiers', omitempty=True)
|
||||
status = jose.Field('status', omitempty=True, default=None)
|
||||
status = jose.Field('status', decoder=Status.from_json,
|
||||
omitempty=True, default=STATUS_PENDING)
|
||||
authorizations = jose.Field('authorizations', omitempty=True)
|
||||
certificate = jose.Field('certificate', omitempty=True)
|
||||
finalize = jose.Field('finalize', omitempty=True)
|
||||
|
|
@ -506,7 +506,11 @@ class OrderResource(ResourceWithURI):
|
|||
"""Order Resource.
|
||||
|
||||
:ivar acme.messages.Order body:
|
||||
|
||||
:ivar list of acme.messages.AuthorizationResource authorizations:
|
||||
Fully-fetched AuthorizationResource objects.
|
||||
:ivar string csr_pem: The CSR this Order will be finalized with.
|
||||
:ivar string fullchain_pem: The fetched contents of the certificate URL
|
||||
produced once the order was finalized, if it's present.
|
||||
"""
|
||||
body = jose.Field('body', decoder=Order.from_json)
|
||||
csr_pem = jose.Field('csr_pem', omitempty=True)
|
||||
|
|
|
|||
Loading…
Reference in a new issue