Ejemplo n.º 1
0
 def test_generate_from_key_string(self):
     private1, public1 = generate_key_pair()
     private2, public2 = generate_key_pair()
     header = create_auth_header('foo', key=private1)
     self.assertTrue(header.startswith('JWT '))
     token = header.split(' ', 1)[1]
     self.assertFalse(verify(token, public2))
     self.assertTrue(verify(token, public1))
Ejemplo n.º 2
0
 def test_generate_from_encrypted_key_file(self):
     header = create_auth_header('foo',
                                 key_file=KEY2_PRIVATE,
                                 key_password=KEY2_PASSWORD)
     self.assertTrue(header.startswith('JWT '))
     token = header.split(' ', 1)[1]
     with open(KEY2_PUBLIC, 'r') as public:
         self.assertTrue(verify(token, public.read()))
 def test_generate_from_key_string(self):
     private1, public1 = generate_key_pair()
     private2, public2 = generate_key_pair()
     header = create_auth_header('foo', key=private1)
     self.assertTrue(header.startswith('JWT '))
     token = header.split(' ', 1)[1]
     self.assertFalse(verify(token, public2))
     self.assertTrue(verify(token, public1))
Ejemplo n.º 4
0
    def test_remove_challenge(self):
        matrix = (
            ('', '', status.HTTP_403_FORBIDDEN),
            ('joe', self.priv_key_joe, status.HTTP_403_FORBIDDEN),
            ('certbot', self.priv_key_joe, status.HTTP_403_FORBIDDEN),
            ('certbot', self.priv_key_certbot, status.HTTP_204_NO_CONTENT),
        )

        for username, private_key, expected_status in matrix:
            AcmeChallenge.objects.get_or_create(challenge='foo',
                                                response='bar')
            url = reverse('acmechallenge-detail', args=('foo', ))
            headers = {}
            if username:
                headers['HTTP_AUTHORIZATION'] = create_auth_header(
                    username=username, key=private_key)
            response = self.client.delete(url, **headers)
            self.assertEquals(response.status_code, expected_status)
Ejemplo n.º 5
0
    def test_add_challenge(self):
        matrix = (
            ('', '', status.HTTP_403_FORBIDDEN),
            ('joe', self.priv_key_joe, status.HTTP_403_FORBIDDEN),
            ('certbot', self.priv_key_joe, status.HTTP_403_FORBIDDEN),
            ('certbot', self.priv_key_certbot, status.HTTP_201_CREATED),
        )

        url = reverse('acmechallenge-list')

        data = {
            'challenge': 'foo',
            'response': 'bar',
        }

        for username, private_key, expected_status in matrix:
            headers = {}
            if username:
                headers['HTTP_AUTHORIZATION'] = create_auth_header(
                    username=username, key=private_key)
            response = self.client.post(url, data=data, **headers)
            self.assertEquals(response.status_code, expected_status)
 def test_generate_from_encrypted_key_file(self):
     header = create_auth_header('foo', key_file=KEY2_PRIVATE, key_password=KEY2_PASSWORD)
     self.assertTrue(header.startswith('JWT '))
     token = header.split(' ', 1)[1]
     with open(KEY2_PUBLIC, 'r') as public:
         self.assertTrue(verify(token, public.read()))
Ejemplo n.º 7
0
 def _get_headers(self, domain):
     private_key = self._get_private_key(domain)
     headers = {
         'Authorization': create_auth_header(username=self._get_username(), key=private_key)
     }
     return headers