diff options
Diffstat (limited to 'base/common/python/pki/nssdb.py')
-rw-r--r-- | base/common/python/pki/nssdb.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/base/common/python/pki/nssdb.py b/base/common/python/pki/nssdb.py index b2cf9f1cf..8d0f96711 100644 --- a/base/common/python/pki/nssdb.py +++ b/base/common/python/pki/nssdb.py @@ -377,7 +377,8 @@ class NSSDatabase(object): subprocess.check_call(cmd) - def import_cert_chain(self, nickname, cert_chain_file, trust_attributes=None): + def import_cert_chain(self, nickname, cert_chain_file, + trust_attributes=None): tmpdir = tempfile.mkdtemp() @@ -389,16 +390,18 @@ class NSSDatabase(object): nickname=nickname, cert_file=cert_chain_file, trust_attributes=trust_attributes) - return self.get_cert( - nickname=nickname, - output_format='base64') + return ( + self.get_cert(nickname=nickname, output_format='base64'), + [nickname] + ) elif file_type == 'pkcs7': # import PKCS #7 cert chain - return self.import_pkcs7( + chain, nicks = self.import_pkcs7( pkcs7_file=cert_chain_file, nickname=nickname, trust_attributes=trust_attributes, output_format='base64') + return chain, nicks else: # import PKCS #7 data without header/footer with open(cert_chain_file, 'r') as f: @@ -409,17 +412,18 @@ class NSSDatabase(object): with open(tmp_cert_chain_file, 'w') as f: f.write(pkcs7_data) - self.import_pkcs7( + chain, nicks = self.import_pkcs7( pkcs7_file=tmp_cert_chain_file, nickname=nickname, trust_attributes=trust_attributes) - return base64_data + return base64_data, nicks finally: shutil.rmtree(tmpdir) - def import_pkcs7(self, pkcs7_file, nickname, trust_attributes=None, output_format='pem'): + def import_pkcs7(self, pkcs7_file, nickname, trust_attributes=None, + output_format='pem'): tmpdir = tempfile.mkdtemp() @@ -435,6 +439,7 @@ class NSSDatabase(object): # parse PEM output into separate PEM certificates certs = [] lines = [] + nicks = [] state = 'header' for line in output.splitlines(): @@ -476,6 +481,7 @@ class NSSDatabase(object): n = '%s #%d' % (nickname, counter) self.add_cert(n, cert_file, trust_attributes) + nicks.append(n) counter += 1 @@ -483,12 +489,13 @@ class NSSDatabase(object): with open(pkcs7_file, 'r') as f: data = f.read() - return convert_pkcs7(data, 'pem', output_format) + return convert_pkcs7(data, 'pem', output_format), nicks finally: shutil.rmtree(tmpdir) - def import_pkcs12(self, pkcs12_file, pkcs12_password=None, pkcs12_password_file=None): + def import_pkcs12(self, pkcs12_file, pkcs12_password=None, + pkcs12_password_file=None): tmpdir = tempfile.mkdtemp() |