certidude icon indicating copy to clipboard operation
certidude copied to clipboard

Build fails

Open cs-network opened this issue 4 years ago • 1 comments

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

cs-network avatar May 15 '20 06:05 cs-network

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

cs-network avatar May 17 '20 13:05 cs-network