aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/dmaap-datarouter/remove_cert_from_ca.py
diff options
context:
space:
mode:
authoreconwar <conor.ward@est.tech>2019-01-25 12:05:45 +0000
committereconwar <conor.ward@est.tech>2019-01-25 12:05:45 +0000
commit3acb57a71cf6ce59eae11883277e1915759b7606 (patch)
treea21ca8d74de17afd76d3b4224e6df94898481edb /scripts/dmaap-datarouter/remove_cert_from_ca.py
parenteb87542dbdaf427039eb6e963ee78bbd07ce551b (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.py51
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)