def test_jwk_serialize(self): from acme.jws import JWS jws = JWS.sign(payload=b'foo', key=self.privkey, alg=jose.RS256, nonce=self.nonce, url=self.url) self.assertEqual(jws.signature.combined.kid, None) self.assertEqual(jws.signature.combined.jwk, self.pubkey)
def test_it(self): from acme.jws import JWS jws = JWS.sign(payload='foo', key=self.privkey, alg=jose.RS256, nonce=self.nonce) JWS.from_json(jws.to_json())
def test_it(self): from acme.jws import JWS jws = JWS.sign(payload=b'foo', key=self.privkey, alg=jose.RS256, nonce=self.nonce) self.assertEqual(jws.signature.combined.nonce, self.nonce) # TODO: check that nonce is in protected header self.assertEqual(jws, JWS.from_json(jws.to_json()))
def test_kid_serialize(self): from acme.jws import JWS jws = JWS.sign(payload=b'foo', key=self.privkey, alg=jose.RS256, nonce=self.nonce, url=self.url, kid=self.kid) self.assertEqual(jws.signature.combined.nonce, self.nonce) self.assertEqual(jws.signature.combined.url, self.url) self.assertEqual(jws.signature.combined.kid, self.kid) self.assertEqual(jws.signature.combined.jwk, None) # TODO: check that nonce is in protected header self.assertEqual(jws, JWS.from_json(jws.to_json()))
def cb_wrap_in_jws(nonce): with LOG_JWS_SIGN(key_type=self._key.typ, alg=self._alg.name, nonce=nonce): if obj is None: jobj = b'' else: jobj = obj.json_dumps().encode() result = (JWS.sign( payload=jobj, key=self._key, alg=self._alg, nonce=nonce, url=url, kid=kid, ).json_dumps().encode()) return result
def _wrap_in_jws(self, nonce, obj): """ Wrap ``JSONDeSerializable`` object in JWS. .. todo:: Implement ``acmePath``. :param ~josepy.interfaces.JSONDeSerializable obj: :param bytes nonce: :rtype: `bytes` :return: JSON-encoded data """ with LOG_JWS_SIGN(key_type=self._key.typ, alg=self._alg.name, nonce=nonce): jobj = obj.json_dumps().encode() return ( JWS.sign( payload=jobj, key=self._key, alg=self._alg, nonce=nonce) .json_dumps() .encode())
def _wrap_in_jws(self, nonce, obj): """ Wrap ``JSONDeSerializable`` object in JWS. .. todo:: Implement ``acmePath``. :param ~josepy.interfaces.JSONDeSerializable obj: :param bytes nonce: :rtype: `bytes` :return: JSON-encoded data """ with LOG_JWS_SIGN(key_type=self._key.typ, alg=self._alg.name, nonce=nonce): jobj = obj.json_dumps().encode() return (JWS.sign(payload=jobj, key=self._key, alg=self._alg, nonce=nonce).json_dumps().encode())