diff options
Diffstat (limited to 'scripts/dmaap-datarouter/remove_cert_from_ca.py')
-rw-r--r-- | scripts/dmaap-datarouter/remove_cert_from_ca.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/dmaap-datarouter/remove_cert_from_ca.py b/scripts/dmaap-datarouter/remove_cert_from_ca.py new file mode 100644 index 00000000..192e274f --- /dev/null +++ b/scripts/dmaap-datarouter/remove_cert_from_ca.py @@ -0,0 +1,51 @@ +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 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 + +cafile = certifi.where() +number_of_lines_to_delete = 39 +count = 0 +dr_cert_exists = False + +with open(cafile, 'r+b', buffering=0) as outfile: + for line in outfile.readlines()[-35:-34]: + if "# Serial: 0x9EAEEDC0A7CEB59D" 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) |