def test_encode_decode(mocked_files, my_cert_pem): encoder = under_test.TicketEncoder('dummycert', 'dummykey') decoder = under_test.TicketDecoder( ca=None, eku=None, peer=my_cert_pem.decode() ) data = 'mydata' encoded_data = encoder.encode(data) decoded_data = decoder.decode(encoded_data) assert data == decoded_data
def test_corrupted_ticket(mocked_files, my_cert_pem): encoder = under_test.TicketEncoder('dummycert', 'dummykey') decoder = under_test.TicketDecoder( ca=None, eku=None, peer=my_cert_pem.decode() ) data = 'mydata' encoded_data = encoder.encode(data) encoded_data_array = bytearray(encoded_data) encoded_data_array[0:4] = b'XXXXX' with pytest.raises(Exception): decoder.decode(bytes(encoded_data_array))
def test_corrupted_ticket_data(mocked_files, my_cert_pem): encoder = under_test.TicketEncoder('dummycert', 'dummykey') decoder = under_test.TicketDecoder( ca=None, eku=None, peer=my_cert_pem.decode() ) data = 'mydata' encoded_data = encoder.encode(data) parsed_data = json.loads(base64.b64decode(encoded_data)) parsed_data['data'] = 'XXXX' + parsed_data['data'][4:] corrupted_encoded_data = base64.b64encode( json.dumps(parsed_data).encode('utf-8') ) with pytest.raises(ValueError, match='Invalid ticket signature'): decoder.decode(corrupted_encoded_data)
def make_ticket_encoder(cfg_file): return ticket.TicketEncoder( cfg_file.get('TOKEN_CERTIFICATE'), cfg_file.get('TOKEN_KEY'), )