diff options
author | econwar <conor.ward@est.tech> | 2019-01-25 12:05:45 +0000 |
---|---|---|
committer | econwar <conor.ward@est.tech> | 2019-01-25 12:05:45 +0000 |
commit | 3acb57a71cf6ce59eae11883277e1915759b7606 (patch) | |
tree | a21ca8d74de17afd76d3b4224e6df94898481edb /scripts/dmaap-datarouter/remove_cert_from_ca.py | |
parent | eb87542dbdaf427039eb6e963ee78bbd07ce551b (diff) |
Add DR suite that verifies security certs
Change-Id: I75e28171bc5999e8e19f5ca9a236e0a1d17a5a38
Issue-ID: DMAAP-1004
Signed-off-by: econwar <conor.ward@est.tech>
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) |