Exemplo n.º 1
0
    def test_all(self):
        hs = sign.HeaderSigner(key_id='Test', secret=self.key, headers=[
            '(request-target)',
            'host',
            'date',
            'content-type',
            'content-md5',
            'content-length'
        ])
        unsigned = {
            'Host': 'example.com',
            'Date': 'Thu, 05 Jan 2012 21:31:40 GMT',
            'Content-Type': 'application/json',
            'Content-MD5': 'Sd/dVLAcvNLSq16eXua5uQ==',
            'Content-Length': '18',
        }
        signed = hs.sign(unsigned, method='POST', path='/foo?param=value&pet=dog')

        self.assertIn('Date', signed)
        self.assertEqual(unsigned['Date'], signed['Date'])
        self.assertIn('Authorization', signed)
        auth = parse_authorization_header(signed['authorization'])
        params = auth[1]
        self.assertIn('keyId', params)
        self.assertIn('algorithm', params)
        self.assertIn('signature', params)
        self.assertEqual(params['keyId'], 'Test')
        self.assertEqual(params['algorithm'], 'rsa-sha256')
        self.assertEqual(params['headers'], '(request-target) host date content-type content-md5 content-length')
        self.assertEqual(params['signature'], 'G8/Uh6BBDaqldRi3VfFfklHSFoq8CMt5NUZiepq0q66e+fS3Up3BmXn0NbUnr3L1WgAAZGplifRAJqp2LgeZ5gXNk6UX9zV3hw5BERLWscWXlwX/dvHQES27lGRCvyFv3djHP6Plfd5mhPWRkmjnvqeOOSS0lZJYFYHJz994s6w=')
    def test_hmac(self):
        hs = sign.HeaderSigner(key_id='pda', algorithm='hmac-sha256', secret='secret', headers=['(request-target)', 'Date'])
        unsigned = {
            'Date': 'today',
            'accept': 'llamas'
        }
        signed = hs.sign(unsigned, method='GET', path='/path?query=123')

        auth = parse_authorization_header(signed['authorization'])
        params = auth[1]
        self.assertIn('keyId', params)
        self.assertIn('algorithm', params)
        self.assertIn('signature', params)
        self.assertEqual(params['keyId'], 'pda')
        self.assertEqual(params['algorithm'], 'hmac-sha256')
        self.assertEqual(params['signature'], 'SFlytCGpsqb/9qYaKCQklGDvwgmrwfIERFnwt+yqPJw=')
Exemplo n.º 3
0
 def test_default(self):
     hs = sign.HeaderSigner(key_id='Test', secret=self.key)
     unsigned = {
         'Date': 'Thu, 05 Jan 2012 21:31:40 GMT'
     }
     signed = hs.sign(unsigned)
     self.assertIn('Date', signed)
     self.assertEqual(unsigned['Date'], signed['Date'])
     self.assertIn('Authorization', signed)
     auth = parse_authorization_header(signed['authorization'])
     params = auth[1]
     self.assertIn('keyId', params)
     self.assertIn('algorithm', params)
     self.assertIn('signature', params)
     self.assertEqual(params['keyId'], 'Test')
     self.assertEqual(params['algorithm'], 'rsa-sha256')
     self.assertEqual(params['signature'], 'ATp0r26dbMIxOopqw0OfABDT7CKMIoENumuruOtarj8n/97Q3htHFYpH8yOSQk3Z5zh8UxUym6FYTb5+A0Nz3NRsXJibnYi7brE/4tx5But9kkFGzG+xpUmimN4c3TMN7OFH//+r8hBf7BT9/GmHDUVZT2JzWGLZES2xDOUuMtA=')
Exemplo n.º 4
0
 def test_default(self):
     hs = sign.HeaderSigner(key_id='Test', secret=self.key)
     unsigned = {'Date': 'Thu, 05 Jan 2012 21:31:40 GMT'}
     signed = hs.sign(unsigned)
     self.assertIn('Date', signed)
     self.assertEqual(unsigned['Date'], signed['Date'])
     self.assertIn('Authorization', signed)
     auth = parse_authorization_header(signed['authorization'])
     params = auth[1]
     self.assertIn('keyId', params)
     self.assertIn('algorithm', params)
     self.assertIn('signature', params)
     self.assertEqual(params['keyId'], 'Test')
     self.assertEqual(params['algorithm'], 'rsa-sha256')
     self.assertEqual(
         params['signature'],
         'ATp0r26dbMIxOopqw0OfABDT7CKMIoENumuruOtarj8n/97Q3htHFYpH8yOSQk3Z5zh8UxUym6FYTb5+A0Nz3NRsXJibnYi7brE/4tx5But9kkFGzG+xpUmimN4c3TMN7OFH//+r8hBf7BT9/GmHDUVZT2JzWGLZES2xDOUuMtA='
     )
Exemplo n.º 5
0
    def test_all(self):
        hs = sign.HeaderSigner(key_id='Test',
                               secret=self.key,
                               headers=[
                                   '(request-target)', 'host', 'date',
                                   'content-type', 'content-md5',
                                   'content-length'
                               ])
        unsigned = {
            'Host': 'example.com',
            'Date': 'Thu, 05 Jan 2012 21:31:40 GMT',
            'Content-Type': 'application/json',
            'Content-MD5': 'Sd/dVLAcvNLSq16eXua5uQ==',
            'Content-Length': '18',
        }
        signed = hs.sign(unsigned,
                         method='POST',
                         path='/foo?param=value&pet=dog')

        self.assertIn('Date', signed)
        self.assertEqual(unsigned['Date'], signed['Date'])
        self.assertIn('Authorization', signed)
        auth = parse_authorization_header(signed['authorization'])
        params = auth[1]
        self.assertIn('keyId', params)
        self.assertIn('algorithm', params)
        self.assertIn('signature', params)
        self.assertEqual(params['keyId'], 'Test')
        self.assertEqual(params['algorithm'], 'rsa-sha256')
        self.assertEqual(
            params['headers'],
            '(request-target) host date content-type content-md5 content-length'
        )
        self.assertEqual(
            params['signature'],
            'G8/Uh6BBDaqldRi3VfFfklHSFoq8CMt5NUZiepq0q66e+fS3Up3BmXn0NbUnr3L1WgAAZGplifRAJqp2LgeZ5gXNk6UX9zV3hw5BERLWscWXlwX/dvHQES27lGRCvyFv3djHP6Plfd5mhPWRkmjnvqeOOSS0lZJYFYHJz994s6w='
        )