Пример #1
0
 def test_create_truststore_single(self):
     store_filename = os.path.join(
         gettempdir(), 'truststore-' +
         ''.join(random.choice(string.digits) for _ in range(20)) + '.jks')
     toolkits.create_truststore(TRUSTED_CERT_PEM,
                                store_filepath=store_filename)
     assert os.path.isfile(store_filename)
Пример #2
0
 def test_create_truststore_file_list(self):
     store_filename = os.path.join(
         gettempdir(), 'truststore-' +
         ''.join(random.choice(string.digits) for _ in range(20)) + '.jks')
     toolkits.create_truststore([self.ca_crt_file, self.client_ca_crt_file],
                                store_filepath=store_filename,
                                store_passwd="abcdef")
     assert os.path.isfile(store_filename)
Пример #3
0
 def test_create_truststore_list(self):
     store_filename = os.path.join(
         gettempdir(), 'truststore-' +
         ''.join(random.choice(string.digits) for _ in range(20)) + '.jks')
     toolkits.create_truststore([TRUSTED_CERT_PEM, CLIENT_CA_CERT_PEM],
                                store_filepath=store_filename,
                                store_passwd=None)
     assert os.path.isfile(store_filename)
Пример #4
0
 def test_extend_truststore_file_list(self):
     store_filename = os.path.join(
         gettempdir(), 'truststore-' +
         ''.join(random.choice(string.digits) for _ in range(20)) + '.jks')
     store_passwd = toolkits.create_truststore(
         [self.client_ca_crt_file], store_filepath=store_filename)
     assert os.path.isfile(store_filename)
     new_aliases = toolkits.extend_truststore(
         [self.ca_crt_file, self.client_ca_crt_file],
         store_filepath=store_filename,
         store_passwd=store_passwd)
     assert len(new_aliases) == 2
Пример #5
0
    def create_spl_params(self, topology) -> dict:
        spl_params = dict()
        if self.trusted_certs:
            if self.truststore:
                print("adding trusted certificate(s) to truststore: " +
                      self.truststore)
                extend_truststore(self.trusted_certs, self.truststore,
                                  self.truststore_password)
            else:
                # create truststore with given certificates
                truststore_basename = 'truststore-' + _generate_random_digits(
                    16) + '.jks'
                truststore_filepath = os.path.join(gettempdir(),
                                                   truststore_basename)
                print("adding trusted certificate(s) to new truststore: " +
                      truststore_filepath)
                truststore_pass = create_truststore(self.trusted_certs,
                                                    truststore_filepath)
                print("truststore password is: " + truststore_pass)
                topology.add_file_dependency(truststore_filepath, 'etc')
                spl_params['trustStore'] = 'etc/' + truststore_basename
                spl_params['trustStorePassword'] = truststore_pass

        if self.truststore:
            topology.add_file_dependency(self.truststore, 'etc')
            spl_params['trustStore'] = 'etc/' + os.path.basename(
                self.truststore)
            spl_params['trustStorePassword'] = self.truststore_password

        if self.client_cert:
            if self.keystore:
                print("adding client cert and key to keystore: " +
                      self.keystore)
                extend_keystore(self.client_cert, self.client_private_key,
                                self.keystore, self.keystore_password)
            else:
                # create keystore with given certificate and key
                keystore_basename = 'keystore-' + _generate_random_digits(
                    16) + '.jks'
                keystore_filepath = os.path.join(gettempdir(),
                                                 keystore_basename)
                print("adding client certificate and key to new keystore: " +
                      keystore_filepath)
                keystore_pass = create_keystore(self.client_cert,
                                                self.client_private_key,
                                                keystore_filepath)
                print("keystore password is: " + keystore_pass)
                topology.add_file_dependency(keystore_filepath, 'etc')
                spl_params['keyStore'] = 'etc/' + keystore_basename
                spl_params['keyStorePassword'] = keystore_pass

        if self.keystore:
            topology.add_file_dependency(self.keystore, 'etc')
            spl_params['keyStore'] = 'etc/' + os.path.basename(self.keystore)
            spl_params['keyStorePassword'] = self.keystore_password

        spl_params['serverURI'] = self.server_uri
        spl_params['keepAliveInterval'] = self.keep_alive_seconds
        spl_params['reconnectionBound'] = self.reconnection_bound
        if self.reconnection_bound != 0:
            spl_params['period'] = streamsx.spl.types.int64(30)

        if self.app_config_name:
            spl_params['appConfigName'] = self.app_config_name
            spl_params[
                'passwordPropName'] = MQTTComposite._APP_CONFIG_PROP_NAME_FOR_PASSWORD
            spl_params[
                'userPropName'] = MQTTComposite._APP_CONFIG_PROP_NAME_FOR_USERNAME
        if self.username:
            spl_params['userID'] = self.username
        if self.password:
            spl_params['password'] = self.password
        if self.client_id:
            spl_params['clientID'] = self.client_id
        if self.command_timeout_millis is not None:
            spl_params['commandTimeout'] = streamsx.spl.types.int64(
                self.command_timeout_millis)
        if self.ssl_protocol:
            spl_params['sslProtocol'] = self.ssl_protocol
        if self.vm_arg or self.ssl_debug:
            vmargs = []
            if isinstance(self.vm_arg, list):
                vmargs.extend(self.vm_arg)
            elif isinstance(self.vm_arg, str):
                vmargs.append(self.vm_arg)
            if self.ssl_debug:
                vmargs.append('-Djavax.net.debug=all')
            spl_params['vmArg'] = vmargs
        return spl_params