Ejemplo n.º 1
0
    def test_encryption(self):
        publicKeyPath = "/pulsar//pulsar-broker/src/test/resources/certificate/public-key.client-rsa.pem"
        privateKeyPath = "/pulsar/pulsar-broker/src/test/resources/certificate/private-key.client-rsa.pem"
        crypto_key_reader = CryptoKeyReader(publicKeyPath, privateKeyPath)
        client = Client(self.serviceUrl)
        topic = "my-python-test-end-to-end-encryption"
        consumer = client.subscribe(topic=topic,
                                    subscription_name="my-subscription",
                                    crypto_key_reader=crypto_key_reader)
        producer = client.create_producer(topic=topic,
                                          encryption_key="client-rsa.pem",
                                          crypto_key_reader=crypto_key_reader)
        reader = client.create_reader(topic=topic,
                                      start_message_id=MessageId.earliest,
                                      crypto_key_reader=crypto_key_reader)
        producer.send(b"hello")
        msg = consumer.receive(TM)
        self.assertTrue(msg)
        self.assertEqual(msg.value(), b"hello")
        consumer.unsubscribe()

        msg = reader.read_next(TM)
        self.assertTrue(msg)
        self.assertEqual(msg.data(), b"hello")

        with self.assertRaises(pulsar.Timeout):
            reader.read_next(100)

        reader.close()

        client.close()
Ejemplo n.º 2
0
 def test_encryption(self):
     publicKeyPath = "/pulsar//pulsar-broker/src/test/resources/certificate/public-key.client-rsa.pem"
     privateKeyPath = "/pulsar/pulsar-broker/src/test/resources/certificate/private-key.client-rsa.pem"
     crypto_key_reader = CryptoKeyReader(publicKeyPath, privateKeyPath)
     client = Client(self.serviceUrl)
     topic = 'my-python-test-end-to-end-encryption'
     consumer = client.subscribe(topic=topic,
                                 subscription_name='my-subscription',
                                 crypto_key_reader=crypto_key_reader)
     producer = client.create_producer(topic=topic,
                                       encryption_key="client-rsa.pem",
                                       crypto_key_reader=crypto_key_reader)
     producer.send('hello')
     msg = consumer.receive(TM)
     self.assertTrue(msg)
     self.assertEqual(msg.value(), 'hello')
     consumer.unsubscribe()
     client.close()