def __init__(self, community=None, taxii_client=None, taxii2_client=None): if taxii2_client: taxii = taxii2_client elif taxii_client: taxii = taxii_client self._name = taxii.name self._protocol_version = taxii.protocol_version self._username = taxii.login_id self._password = taxii.login_password self._jobs = taxii.jobs self._interval_job = taxii.interval_schedule_job self._can_read = taxii.can_read self._can_write = taxii.can_write if taxii.is_use_cert: self._auth_type = clients.HttpClient.AUTH_CERT_BASIC self._key_file = taxii.key_file self._cert_file = taxii.cert_file else: self._auth_type = clients.HttpClient.AUTH_BASIC if taxii2_client: self._api_root = taxii.api_root self._collection = taxii.collection self._via = Vias.get_via_taxii_poll(taxii2_client=taxii, uploader=taxii.uploader) else: self._address = taxii.address self._port = taxii.port self._path = taxii.path self._collection_name = taxii.collection self._via = Vias.get_via_taxii_poll(taxii_client=taxii, uploader=taxii.uploader) self._client = clients.HttpClient() self._ssl = taxii.ssl self._client.set_use_https(self._ssl) self._client.set_auth_type(self._auth_type) self._proxies = System.get_request_proxies() if self._proxies is not None: p = urlparse(self._address) if p.scheme == 'https': self._client.set_proxy(self._proxies['https']) else: self._client.set_proxy(self._proxies['http']) try: self._community = taxii.community except BaseException: self._community = None self._taxii = taxii self._start = None self._end = None self._schedule = CtirsScheduler()
def __init__(self, taxii_name=None, taxii_id=None, community=None, taxii_client=None): taxii = None if taxii_client is not None: taxii = taxii_client elif taxii_name is not None: taxii = TaxiiClients.objects.get(name=taxii_name) elif taxii_id is not None: taxii = TaxiiClients.objects.get(id=taxii_id) self._address = taxii.address self._port = taxii.port self._path = taxii.path self._collection_name = taxii.collection self._jobs = taxii.jobs self._interval_job = taxii.interval_schedule_job self._protocol_version = taxii.protocol_version # taxii client設定 self._client = clients.HttpClient() if taxii.is_use_cert: self._auth_type = clients.HttpClient.AUTH_CERT_BASIC self._key_file = taxii.key_file self._cert_file = taxii.cert_file else: self._auth_type = clients.HttpClient.AUTH_BASIC self._username = taxii.login_id self._password = taxii.login_password self._ssl = taxii.ssl # proxy 設定があれば設定する self._proxies = System.get_request_proxies() if self._proxies is not None: p = urlparse(self._address) if p.scheme == 'https': self._client.set_proxy(self._proxies['https']) else: self._client.set_proxy(self._proxies['http']) try: self._community = taxii.community except BaseException: self._community = None self._via = Vias.get_via_taxii_poll(taxii, uploader=taxii.uploader) self._taxii = taxii self._start = None self._end = None self._schedule = CtirsScheduler() # _scheduleのstartはschedule単位 # modify/resume/pauseはjob単位 # TAXII Protocol 1.1 なら Authentication 設定を行う if self._protocol_version == '1.1': self.set_taxii_11_authentication()