def test_signing_key_phases(self): """ Using example data from: http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html """ access_key = 'wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY' region = 'us-east-1' service = 'iam' date = '20120215' # These are signing key, date_key, region_key and service_key # respectively expected_raw = ( 'f4780e2d9f65fa895f9c67b32ce1baf0b0d8a43505a000a1a9e090d414db404d', '969fbb94feb542b71ede6f87fe4d5fa29c789342b0f407474670f0c2489e0a0d', '69daa0209cd9c5ff5c8ced464a696fd4252e981430b10e3d3fd8e2f197d7a70c', 'f72cfd46f26bc4643f06a11eabb6c0ba18780c19a8da0c31ace671265e3c87fa') expected = [] for hsh in expected_raw: hexen = re.findall('..', hsh) expected.append([int(x, base=16) for x in hexen]) result = AWS4SigningKey.generate_key(access_key, region, service, date, intermediate=True) for i, hsh in enumerate(result): hsh = [ord(x) for x in hsh] if PY2 else list(hsh) self.assertEqual(hsh, expected[i], msg='Item number {}'.format(i))
def test_generate_key(self): """ Using example data from: http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html """ access_key = 'wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY' region = 'us-east-1' service = 'iam' date = '20110909' expected = [152, 241, 216, 137, 254, 196, 244, 66, 26, 220, 82, 43, 171, 12, 225, 248, 46, 105, 41, 194, 98, 237, 21, 229, 169, 76, 144, 239, 209, 227, 176, 231] key = AWS4SigningKey.generate_key(access_key, region, service, date) key = [ord(x) for x in key] if PY2 else list(key) self.assertEqual(key, expected)
def test_generate_key(self): """ Using example data from: http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html """ access_key = 'wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY' region = 'us-east-1' service = 'iam' date = '20110909' expected = [ 152, 241, 216, 137, 254, 196, 244, 66, 26, 220, 82, 43, 171, 12, 225, 248, 46, 105, 41, 194, 98, 237, 21, 229, 169, 76, 144, 239, 209, 227, 176, 231 ] key = AWS4SigningKey.generate_key(access_key, region, service, date) key = [ord(x) for x in key] if PY2 else list(key) self.assertEqual(key, expected)