Example #1
0
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
Example #2
0
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))
Example #3
0
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)
Example #4
0
def make_ticket_encoder(cfg_file):
    return ticket.TicketEncoder(
        cfg_file.get('TOKEN_CERTIFICATE'),
        cfg_file.get('TOKEN_KEY'),
    )