mirror of
https://github.com/certbot/certbot.git
synced 2026-07-30 16:14:44 +02:00
Update acme.messages docs. Fix test
This commit is contained in:
@@ -177,9 +177,9 @@ class AuthorizationRequest(Message):
|
|||||||
"""ACME "authorizationRequest" message.
|
"""ACME "authorizationRequest" message.
|
||||||
|
|
||||||
:ivar str session_id: "sessionID" from the server challenge
|
:ivar str session_id: "sessionID" from the server challenge
|
||||||
:ivar str name: Hostname
|
|
||||||
:ivar str nonce: Nonce from the server challenge
|
:ivar str nonce: Nonce from the server challenge
|
||||||
:ivar list responses: List of completed challenges
|
:ivar list responses: List of completed challenges
|
||||||
|
:ivar signature: Signature (:class:`letsencrypt.acme.other.Signature`).
|
||||||
:ivar contact: TODO
|
:ivar contact: TODO
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -191,7 +191,7 @@ class AuthorizationRequest(Message):
|
|||||||
def create(cls, name, key, sig_nonce=None, **kwargs):
|
def create(cls, name, key, sig_nonce=None, **kwargs):
|
||||||
"""Create signed "authorizationRequest".
|
"""Create signed "authorizationRequest".
|
||||||
|
|
||||||
:param str name: TODO
|
:param str name: Hostname
|
||||||
|
|
||||||
:param key: Key used for signing.
|
:param key: Key used for signing.
|
||||||
:type key: :class:`Crypto.PublicKey.RSA`
|
:type key: :class:`Crypto.PublicKey.RSA`
|
||||||
@@ -246,8 +246,11 @@ class AuthorizationRequest(Message):
|
|||||||
class Certificate(Message):
|
class Certificate(Message):
|
||||||
"""ACME "certificate" message.
|
"""ACME "certificate" message.
|
||||||
|
|
||||||
:ivar certificate: TODO
|
:ivar certificate: The certificate (:class:`M2Crypto.X509.X509`
|
||||||
:type certificate: :class:`M2Crypto.X509` TODO
|
wrapped in :class:`letsencrypt.acme.util.ComparableX509`).
|
||||||
|
|
||||||
|
:ivar list chain: Chain of certificates (:class:`M2Crypto.X509.X509` wrapped
|
||||||
|
in :class:`letsencrypt.acme.util.ComparableX509` ).
|
||||||
|
|
||||||
"""
|
"""
|
||||||
acme_type = "certificate"
|
acme_type = "certificate"
|
||||||
@@ -283,9 +286,9 @@ class Certificate(Message):
|
|||||||
class CertificateRequest(Message):
|
class CertificateRequest(Message):
|
||||||
"""ACME "certificateRequest" message.
|
"""ACME "certificateRequest" message.
|
||||||
|
|
||||||
:ivar str csr: CSR.
|
:ivar csr: Certificate Signing Request (:class:`M2Crypto.X509.Request`
|
||||||
:ivar signature: Signature.
|
wrapped in :class:`letsencrypt.acme.util.ComparableX509`.
|
||||||
:type signature: :class:`letsencrypt.acme.other.Signature`
|
:ivar signature: Signature (:class:`letsencrypt.acme.other.Signature`).
|
||||||
|
|
||||||
"""
|
"""
|
||||||
acme_type = "certificateRequest"
|
acme_type = "certificateRequest"
|
||||||
@@ -411,10 +414,9 @@ class Revocation(Message):
|
|||||||
class RevocationRequest(Message):
|
class RevocationRequest(Message):
|
||||||
"""ACME "revocationRequest" message.
|
"""ACME "revocationRequest" message.
|
||||||
|
|
||||||
:iver str certificate: DER encoded certificate.
|
:ivar certificate: Certificate (:class:`M2Crypto.X509.X509`
|
||||||
:iver str key: Key in string form. Accepted formats
|
wrapped in :class:`letsencrypt.acme.util.ComparableX509`).
|
||||||
are the same as for `Crypto.PublicKey.RSA.importKey`.
|
:ivar signature: Signature (:class:`letsencrypt.acme.other.Signature`).
|
||||||
:ivar str nonce: Nonce used for signature. Useful for testing.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
acme_type = "revocationRequest"
|
acme_type = "revocationRequest"
|
||||||
|
|||||||
@@ -423,31 +423,27 @@ class RevocationRequestTest(unittest.TestCase):
|
|||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.sig_nonce = '\xec\xd6\xf2oYH\xeb\x13\xd5#q\xe0\xdd\xa2\x92\xa9'
|
self.sig_nonce = '\xec\xd6\xf2oYH\xeb\x13\xd5#q\xe0\xdd\xa2\x92\xa9'
|
||||||
|
|
||||||
self.nonce = '\xec\xd6\xf2oYH\xeb\x13\xd5#q\xe0\xdd\xa2\x92\xa9'
|
|
||||||
self.certificate = 'TODO: real DER cert?'
|
|
||||||
|
|
||||||
signature = other.Signature(
|
signature = other.Signature(
|
||||||
alg='RS256', jwk=jose.JWK(key=KEY.publickey()),
|
alg='RS256', jwk=jose.JWK(key=KEY.publickey()),
|
||||||
sig='\x00\x15\xc0\xd4\x8b2M\xa9S\\\x8a#\xc6a\xa7!A\xb2d\x04'
|
sig='eJ\xfe\x12"U\x87\x8b\xbf/ ,\xdeP\xb2\xdc1\xb00\xe5\x1dB'
|
||||||
'\xa6\xbe\xa1/M\x0f|\x8c\x9eJ\x16\xcd\x85N\xcc\x0b\x12k('
|
'\xfch<\xc6\x9eH@!\x1c\x16\xb2\x0b_\xc4\xddP\x89\xc8\xce?'
|
||||||
'\xa8U\xdfS\xa9y\xfd\xfa.\xb3\xeblms\x9f,\xdf\xbb>7\xd9'
|
'\x16g\x069I\xb9\xb3\x91\xb9\x0e$3\x9f\x87\x8e\x82\xca\xc5'
|
||||||
'\xe5u\x8f\xbe',
|
's\xd9\xd0\xe7',
|
||||||
nonce=self.sig_nonce)
|
nonce=self.sig_nonce)
|
||||||
|
|
||||||
from letsencrypt.acme.messages import RevocationRequest
|
from letsencrypt.acme.messages import RevocationRequest
|
||||||
self.msg = RevocationRequest(
|
self.msg = RevocationRequest(certificate=CERT, signature=signature)
|
||||||
certificate=self.certificate, signature=signature)
|
|
||||||
|
|
||||||
self.jmsg = {
|
self.jmsg = {
|
||||||
'type': 'revocationRequest',
|
'type': 'revocationRequest',
|
||||||
'certificate': 'VE9ETzogcmVhbCBERVIgY2VydD8',
|
'certificate': jose.b64encode(CERT.as_der()),
|
||||||
'signature': signature,
|
'signature': signature,
|
||||||
}
|
}
|
||||||
|
|
||||||
def test_create(self):
|
def test_create(self):
|
||||||
from letsencrypt.acme.messages import RevocationRequest
|
from letsencrypt.acme.messages import RevocationRequest
|
||||||
RevocationRequest.create(
|
self.assertEqual(self.msg, RevocationRequest.create(
|
||||||
certificate=self.certificate, key=KEY, sig_nonce=self.sig_nonce)
|
certificate=CERT, key=KEY, sig_nonce=self.sig_nonce))
|
||||||
|
|
||||||
def test_verify(self):
|
def test_verify(self):
|
||||||
self.assertTrue(self.msg.verify())
|
self.assertTrue(self.msg.verify())
|
||||||
@@ -456,9 +452,10 @@ class RevocationRequestTest(unittest.TestCase):
|
|||||||
self.assertEqual(self.msg.to_json(), self.jmsg)
|
self.assertEqual(self.msg.to_json(), self.jmsg)
|
||||||
|
|
||||||
def test_from_json(self):
|
def test_from_json(self):
|
||||||
from letsencrypt.acme.messages import RevocationRequest
|
|
||||||
self.jmsg['signature'] = self.jmsg['signature'].to_json()
|
self.jmsg['signature'] = self.jmsg['signature'].to_json()
|
||||||
self.jmsg['signature']['jwk'] = self.jmsg['signature']['jwk'].to_json()
|
self.jmsg['signature']['jwk'] = self.jmsg['signature']['jwk'].to_json()
|
||||||
|
|
||||||
|
from letsencrypt.acme.messages import RevocationRequest
|
||||||
self.assertEqual(self.msg, RevocationRequest.from_json(self.jmsg))
|
self.assertEqual(self.msg, RevocationRequest.from_json(self.jmsg))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user