예제 #1
0
    def test_load_private(self, _open, bio, rsa):
        path = '/tmp/key.pem'
        pem = '-----BEGIN RSA PRIVATE KEY-----'
        fp = Mock()
        fp.__enter__ = Mock(return_value=fp)
        fp.__exit__ = Mock()
        fp.read.return_value = pem
        _open.return_value = fp

        # test
        key = Key.load(path=path)

        # validation
        _open.assert_called_once_with(path)
        fp.__enter__.assert_called_once_with()
        fp.__exit__.assert_called_once_with(None, None, None)
        bio.MemoryBuffer.assert_called_once_with(pem)
        rsa.load_key_bio.assert_called_once_with(bio.MemoryBuffer.return_value)
        self.assertEqual(key, rsa.load_key_bio.return_value)
예제 #2
0
파일: test_url.py 프로젝트: alanoe/pulp
    def test_load_private(self, _open, bio, rsa):
        path = '/tmp/key.pem'
        pem = '-----BEGIN RSA PRIVATE KEY-----'
        fp = Mock()
        fp.__enter__ = Mock(return_value=fp)
        fp.__exit__ = Mock()
        fp.read.return_value = pem
        _open.return_value = fp

        # test
        key = Key.load(path=path)

        # validation
        _open.assert_called_once_with(path)
        fp.__enter__.assert_called_once_with()
        fp.__exit__.assert_called_once_with(None, None, None)
        bio.MemoryBuffer.assert_called_once_with(pem)
        rsa.load_key_bio.assert_called_once_with(bio.MemoryBuffer.return_value)
        self.assertEqual(key, rsa.load_key_bio.return_value)
예제 #3
0
"""

PUB = """
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoVb2r9uT4kd8E75o7Cja
v+PWmH+I8z/iU0d6Ilj+n1A2TvjKOG0b3ZWnglQcWPcgrWs1JmraibKtekCj3Fq/
QiFMTZXUDKdjOVse08Tr8D9BVa6aj7xAawwm09PC3TTuXZTxzt4URT56I2bKr+M0
qK4Ojto2iJE1aJdyMON3E8EWXidrPtDDNu6v6tv5krgh/4ZZ35+KXY+M5x8ByTGV
1G0g+NtQsyDtYefspiIIapZeWcpjsZuWkxcjqZwiPDN5n41za6WM202FMFMGjOWL
KuuLMZmAtrF3d6NZ685Pfqw7B4zSzPJopg24Nd2o0ih5/eG/qULkJQ+UDJchxEnj
NQIDAQAB
-----END PUBLIC KEY-----
"""


KEY = Key.load(pem=KEY)
PUB = Key.load(pem=PUB)


class TestSigning(TestCase):

    def test_basic_signing(self):
        url = URL('http://redhat.com/content/jit.rpm')
        url = url.sign(KEY)
        print url

    def test_signing_and_validation(self):
        uri = '/content/jit.rpm'
        url = URL('http://redhat.com{r}'.format(r=uri))
        url = url.sign(KEY)
        resource = url.validate(PUB)
예제 #4
0
-----END RSA PRIVATE KEY-----
"""

PUB = """
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoVb2r9uT4kd8E75o7Cja
v+PWmH+I8z/iU0d6Ilj+n1A2TvjKOG0b3ZWnglQcWPcgrWs1JmraibKtekCj3Fq/
QiFMTZXUDKdjOVse08Tr8D9BVa6aj7xAawwm09PC3TTuXZTxzt4URT56I2bKr+M0
qK4Ojto2iJE1aJdyMON3E8EWXidrPtDDNu6v6tv5krgh/4ZZ35+KXY+M5x8ByTGV
1G0g+NtQsyDtYefspiIIapZeWcpjsZuWkxcjqZwiPDN5n41za6WM202FMFMGjOWL
KuuLMZmAtrF3d6NZ685Pfqw7B4zSzPJopg24Nd2o0ih5/eG/qULkJQ+UDJchxEnj
NQIDAQAB
-----END PUBLIC KEY-----
"""

KEY = Key.load(pem=KEY)
PUB = Key.load(pem=PUB)


class TestSigning(TestCase):
    def test_basic_signing(self):
        url = URL('http://redhat.com/content/jit.rpm')
        url = url.sign(KEY)
        print url

    def test_signing_and_validation(self):
        uri = '/content/jit.rpm'
        url = URL('http://redhat.com{r}'.format(r=uri))
        url = url.sign(KEY)
        resource = url.validate(PUB)
        self.assertEqual(resource, uri)