After some troubleshooting, we found a nice solution for this bug, which
is transforming password to string with utf-8 as below:
def setup_database(
db_dir, password=None, over_write=False, password_file=None):
""" Create an NSS database """
if os.path.exists(db_dir):
if not over_write:
raise IOError("Directory already exists.")
if os.path.isdir(db_dir):
shutil.rmtree(db_dir)
else:
os.remove(db_dir)
os.makedirs(db_dir)
try:
if password:
(f, password_file) = tempfile.mkstemp()
os.write(f, str(password).encode('utf-8'))
os.close(f)
command = ['certutil', '-N', '-d', db_dir, '-f', password_file]
subprocess.check_call(command)
except Exception as e:
LOG.info(str(e))
finally:
if password and password_file:
os.remove(password_file)
However, that was not the last problem with this library. I faced another error
inside import_cert function:
# certutil -A -d db_dir -n cert_nick -t trust -i cert_file
with tempfile.NamedTemporaryFile() as cert_file:
cert_file.write(content)
cert_file.flush()
command = ['certutil', '-A', '-d', self.certdb_dir,
'-n', cert_nick, '-t', trust,
'-i', cert_file.name]
subprocess.check_call(command)
Which finished with such error:
Command '['/us
r/bin/certutil', '-A', '-d', '/etc/barbican/alias', '-n', 'KRA transport cert',
'-t', 'u,u,u', '-i', '/tmp/tmp7djgq3r6']' returned non-zero exit status 255.
I believe there can be more issues with testing it against ubuntu.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1905473
Title:
NSS DB can't be created with barbican stein
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/barbican/+bug/1905473/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs