aboutsummaryrefslogtreecommitdiffstats
path: root/tests/oom-platform-cert-service/postprocessor/libraries/JksValidator.py
blob: c2262a7847f1a109e97d5a000956ff89a6445ace (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import jks

class JksValidator:

  def get_jks_entries(self, jks_path, password_path):
    passphrase = open(password_path, 'rb').read().decode("utf-8")
    store = jks.KeyStore.load(jks_path, passphrase)
    return store.entries

  def assert_jks_truststores_equal(self, result_truststore_path, password_path, expected_truststore_path):
    result_keys = self.get_jks_entries(result_truststore_path, password_path)
    expected_keys = self.get_jks_entries(expected_truststore_path, password_path)
    if len(result_keys) != len(expected_keys):
      return False
    for k in result_keys:
      if not (k in expected_keys and result_keys[k].cert == expected_keys[k].cert):
        return False
    return True

  def assert_jks_keystores_equal(self, result_keystore_path, password_path, expected_keystore_path):
    result_keys = self.get_jks_entries(result_keystore_path, password_path)
    expected_keys = self.get_jks_entries(expected_keystore_path, password_path)
    if len(result_keys) != len(expected_keys):
      return False
    for k in result_keys:
      if not (k in expected_keys and result_keys[k].pkey == expected_keys[k].pkey):
        return False
    return True