diff options
author | efiacor <fiachra.corcoran@est.tech> | 2021-07-16 14:49:14 +0100 |
---|---|---|
committer | efiacor <fiachra.corcoran@est.tech> | 2021-07-16 14:49:42 +0100 |
commit | d73829d6083d7d31bd780cfbc086476ae0da8bb0 (patch) | |
tree | dc4154fea9d6d259ab95078e239f8243793b4d5c /csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py | |
parent | 7a68193618045642b989a1d60168c5d0bb626749 (diff) |
[DMAAP-DR] Migrate csit suite to the repo
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: I284f6b235ef3bf3cd2685da488d89f41fcba1ea7
Issue-ID: DMAAP-1636
Diffstat (limited to 'csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py')
-rw-r--r-- | csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py b/csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py new file mode 100644 index 00000000..d36f8acc --- /dev/null +++ b/csit/scripts/dmaap-datarouter/robot_ssl/update_ca.py @@ -0,0 +1,65 @@ +# ============LICENSE_START=================================================== +# Copyright (C) 2019-2021 Nordix Foundation. +# ============================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END===================================================== + +import certifi +import os + + +def add_onap_ca_cert(): + cafile = certifi.where() + dir_path = os.path.dirname(os.path.realpath(__file__)) + datarouter_ca = dir_path + '/onap_ca_cert.pem' + with open(datarouter_ca, 'rb') as infile: + customca = infile.read() + + with open(cafile, 'ab') as outfile: + outfile.write(customca) + + print("Added DR Cert to CA") + + +def remove_onap_ca_cert(): + cafile = certifi.where() + number_of_lines_to_delete = 40 + count = 0 + dr_cert_exists = False + + with open(cafile, 'r+b', buffering=0) as outfile: + for line in outfile.readlines()[-36:-35]: + if '# Serial: 0x9EAEEDC0A7CEB59D'.encode() in line: + dr_cert_exists = True + if dr_cert_exists: + outfile.seek(0, os.SEEK_END) + end = outfile.tell() + while outfile.tell() > 0: + outfile.seek(-1, os.SEEK_CUR) + char = outfile.read(1) + if char == b'\n': + count += 1 + if count == number_of_lines_to_delete: + outfile.truncate() + print( + "Removed " + str(number_of_lines_to_delete) + " lines from end of CA File") + exit(0) + outfile.seek(-1, os.SEEK_CUR) + else: + print("No DR cert in CA File to remove") + + if count < number_of_lines_to_delete + 1: + print("Number of lines in file less than number of lines to delete. Exiting...") + exit(1) |