certidude
certidude copied to clipboard
Build fails
Building on Ubuntu 16.04/18.04/20.04 fails. Ubuntu 20.04 has no nginx PPA.
Nevertheless build on all Ubuntu versions crashed
Generating 4096-bit RSA key for CA ...
Traceback (most recent call last):
File "/usr/local/bin/certidude", line 6, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
File "/srv/certidude/misc/certidude", line 6, in <module>
entry_point()
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/srv/certidude/certidude/cli.py", line 1403, in certidude_provision_authority
certificate = builder.build(private_key)
File "/usr/local/lib/python3.5/dist-packages/certbuilder/__init__.py", line 887, in build
'not_before': x509.Time(name='utc_time', value=self._begin_date),
File "/usr/local/lib/python3.5/dist-packages/asn1crypto/core.py", line 1165, in __init__
raise e
File "/usr/local/lib/python3.5/dist-packages/asn1crypto/core.py", line 1157, in __init__
value = spec(value, **params)
File "/usr/local/lib/python3.5/dist-packages/asn1crypto/core.py", line 1677, in __init__
raise e
File "/usr/local/lib/python3.5/dist-packages/asn1crypto/core.py", line 1669, in __init__
self.set(value)
File "/usr/local/lib/python3.5/dist-packages/asn1crypto/core.py", line 4986, in set
raise ValueError('Must be timezone aware')
ValueError: Must be timezone aware
while constructing asn1crypto.core.UTCTime
while constructing asn1crypto.x509.Time
Here are my install steps:
export DEBIAN_FRONTEND=noninteractive
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
export FIRST_UP=1
ln -fs /usr/share/zoneinfo/UTC /etc/localtime
apt-get -qq update
apt-get -qq install -y git lsb-release python3-pip tzdata systemd npm nodejs build-essential python-dev cython libffi-dev libkrb5-dev ldap-utils krb5-user libsasl2-modules-gssapi-mit libsasl2-dev libldap2-dev
git clone https://github.com/laurivosandi/certidude /srv/certidude
cd /srv/certidude
sed -i 's/b"trusty\n", b"xenial\n", b"bionic\n"/&, b"focal\n"/g' certidude/cli.py
pip3 install -r requirements.txt
pip3 install --upgrade asn1crypto oscrypto
pip3 install -e .
certidude provision authority --packages-only
certidude provision authority --skip-packages
Please provide pip3 list
to get all correct versions
I tested a little more and installation now succeded. But URL /api/ returned 404
export DEBIAN_FRONTEND=noninteractive
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
export FIRST_UP=1
ln -fs /usr/share/zoneinfo/UTC /etc/localtime
apt-get -qq update
apt-get -qq purge --autoremove snapd
apt-get -qq upgrade -y
apt-get -qq dist-upgrade -y
apt-get -qq install -y git lsb-release python3-pip tzdata systemd npm nodejs build-essential python-dev cython libffi-dev libkrb5-dev ldap-utils krb5-user libsasl2-modules-gssapi-mit libsasl2-dev libldap2-dev
git clone https://github.com/laurivosandi/certidude /srv/certidude
cd /srv/certidude
sed -i 's/b"trusty\n", b"xenial\n", b"bionic\n"/&, b"focal\n"/g' certidude/cli.py
sed -i '/from datetime import datetime, timedelta/a import pytz' certidude/cli.py
sed -i 's/builder.begin_date = NOW/&.replace(tzinfo=pytz.UTC)/g' certidude/cli.py
sed -i 's/builder.end_date = NOW/&.replace(tzinfo=pytz.UTC)/g' certidude/cli.py
sed -i '/from datetime import datetime, timedelta/a import pytz' certidude/authority.py
sed -i 's/builder.begin_date = now/&.replace(tzinfo=pytz.UTC)/g' certidude/authority.py
sed -i 's/builder.end_date = now/&.replace(tzinfo=pytz.UTC)/g' certidude/authority.py
pip3 install tzdata datetime pytz pysqlite3
pip3 install -r requirements.txt
pip3 install --upgrade asn1crypto
pip3 install -e .
rm -f /usr/bin/nodejs
mv /usr/bin/node /usr/bin/nodejs
certidude provision authority --packages-only
certidude provision authority --skip-packages
chmod 600 /etc/nginx/sites-available/certidude.conf
certidude provision authority --skip-packages