예제 #1
0
 def test_x5c_decoding(self):
     from acme.jose.jws import Header
     header = Header(x5c=(CERT, CERT))
     jobj = header.to_partial_json()
     cert_b64 = base64.b64encode(CERT.as_der())
     self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]})
     self.assertEqual(header, Header.from_json(jobj))
     jobj['x5c'][0] = base64.b64encode('xxx' + CERT.as_der())
     self.assertRaises(errors.DeserializationError, Header.from_json, jobj)
예제 #2
0
 def test_from_json(self):
     from acme.jose.jws import Header
     from acme.jose.jws import Signature
     self.assertEqual(
         Signature(signature=b'foo', header=Header(alg=jwa.RS256)),
         Signature.from_json({
             'signature': 'Zm9v',
             'header': {
                 'alg': 'RS256'
             }
         }))
예제 #3
0
 def test_x5c_decoding(self):
     from acme.jose.jws import Header
     header = Header(x5c=(CERT, CERT))
     jobj = header.to_partial_json()
     cert_asn1 = OpenSSL.crypto.dump_certificate(
         OpenSSL.crypto.FILETYPE_ASN1, CERT.wrapped)
     cert_b64 = base64.b64encode(cert_asn1)
     self.assertEqual(jobj, {'x5c': [cert_b64, cert_b64]})
     self.assertEqual(header, Header.from_json(jobj))
     jobj['x5c'][0] = base64.b64encode(b'xxx' + cert_asn1)
     self.assertRaises(errors.DeserializationError, Header.from_json, jobj)
예제 #4
0
 def test_add_non_empty(self):
     from acme.jose.jws import Header
     self.assertEqual(Header(jwk='foo', crit=('a', 'b')),
                      self.header1 + self.crit)
예제 #5
0
 def setUp(self):
     from acme.jose.jws import Header
     self.header1 = Header(jwk='foo')
     self.header2 = Header(jwk='bar')
     self.crit = Header(crit=('a', 'b'))
     self.empty = Header()