Example #1
0
File: gcm.py Project: hdknr/jose
    _enc = GCMA192


class GCMA256KW(GcmKeyEncryptor):
    _enc = GCMA192


if __name__ == '__main__':

    from jose.jwa.encs import KeyEncEnum, EncEnum

    encs = ['A128GCM', 'A192GCM', 'A256GCM']
    algs = ['A128GCMKW', 'A192GCMKW', 'A256GCMKW']

    for e in encs:
        enc = EncEnum.create(e).encryptor
        cek, iv = enc.create_key_iv()
        assert len(cek) == enc._KEY_LEN
        assert len(iv) == enc._IV_LEN
        print(enc.__name__)
        print("CEK =", base64.urlsafe_b64encode(cek))
        print("IV=", base64.urlsafe_b64encode(iv))

    import itertools
    from jose.jwk import Jwk
    from jose.jwe import Jwe
    jwk = Jwk.generate(kty="oct")
    for a, e in list(itertools.product(algs, encs)):
        jwe = Jwe(
            alg=KeyEncEnum.create(a),
            enc=EncEnum.create(e),
Example #2
0
File: jwe.py Project: hdknr/jose
 def from_json(cls, json_str, base=None):
     obj = BaseObject.from_json(json_str, cls)
     obj.enc = EncEnum.create(obj.enc)
     obj.zip = ZipEnum.create(obj.zip)
     return obj