# server instaluj v SECURE BOOT modu (UEFI) - abys mohl později zašifrovat disk oproti TPM2 čipu ! # pokud budes chtit mit sifrovany disk tak: # pri instalaci dej vytvorit logicky šifrovaný LVM disk (vrstvu) a teprve na nej napoj / # teprve potom se udelaji kroky, ktere budou server automaticky odemykat oproti klici z TPM2 cipu apt install php8.4-curl apt install php8.4-yaml apt install -y python3 python3-venv python3-pip build-essential pkg-config libffi-dev libssl-dev pcscd opensc apt install -y rustc cargo python3 -m venv /opt/pyhanko-venv /opt/pyhanko-venv/bin/python -m pip install --upgrade pip setuptools wheel /opt/pyhanko-venv/bin/pip install "pyHanko[pkcs11,opentype,pdfminer,speedups]" /opt/pyhanko-venv/bin/python -m pip install pyhanko-cli ln -s /opt/pyhanko-venv/bin/pyhanko /usr/local/bin/pyhanko cp PostSignum_Root_QCA.crt /usr/local/share/ca-certificates/ # ted musis ten certifikat natvrdo prejmenovat priponu z *.pem ===> *.crt (chaos v OS) chmod 644 /usr/local/share/ca-certificates/PostSignum_Root_QCA.crt chown root:root /usr/local/share/ca-certificates/PostSignum_Root_QCA.crt update-ca-certificates -v apt install xmlsec1 libxml2-utils Server musí mít nastavenou synchronizaci času. Zkontroluj to tímto příkazem: # timedatectl timesync-status # nebo lépe timedatectl status Pokud je něco špatně zkontroluj prostup portu NTP (123) oba směry. Přidej ručně do /etc/systemd/timesyncd.conf toto: [Time] NTP=0.cz.pool.ntp.org 1.cz.pool.ntp.org 2.cz.pool.ntp.org FallbackNTP=pool.ntp.org #instalace tokenu - pro debian 12 dpkg -i /safenetauthenticationclient_10.7.77_amd64.deb #pro debian 13 dpkg -i 610-013349-004_RevB_safenetauthenticationclient-core_10.9.6885_amd64.deb apt -f install # veledulezita vec je soubor /etc/eToken.conf: [GENERAL] MultiSlotSupport = Selected # jakmile zmenis ten soubor, muzes rovnou restartovat server # pak uz mas vzorove soubory pro pyHanko a pro konfiguraci PyHanka zde prilozene. # konfigurace se musi vzdy opravit podle aktualniho slotu a ID certifikatu. # Slot zjistis takto: pkcs11-tool --module /usr/lib/libIDPrimePKCS11.so --list-slots # a ID certifikatu podle vyse vypsaneho slotu ziskej takto (zadej tam svuj pin): pkcs11-tool --module /usr/lib/libIDPrimePKCS11.so --slot 0x10 --login --pin TVUJ_PIN --list-objects # Dalsi rozdily oproti Debian12 apt install tzdata-legacy #pro podepisovani EML (MIME) apt install openssl pkcs11-provider gnutls-bin apt install libengine-pkcs11-openssl #tohle se ukazalo, ze neni dulezite //echo "deb http://deb.debian.org/debian trixie-backports main" > /etc/apt/sources.list.d/trixie-backports.list //apt update //apt install -t trixie-backports pkcs11-provider # Jak nastavit soubor *.CNF : # 1. Natsav tam spravny PIN # JAK zjistit URL certifikatu p11tool --provider /usr/lib/libIDPrimePKCS11.so --list-token-urls # pak vem spravnou URL certifikatu (konci Signat) a vloz do do apostrofů nasledujiciho prikazu # takto zjistis URI privatniho klice p11tool --provider /usr/lib/libIDPrimePKCS11.so \ --login \ --list-privkeys \ 'pkcs11:model=ID%20Prime%20MD;manufacturer=Gemalto;serial=8E2599EE8E46FCB4;token=8E2599EE8E46FCB4%20%28Digital%20Signat' # vidis ve vypisu URL: tak to co je za tim, to potrebujes # zaneses to do konfiguraku *.cnf # CRON ----------------------- * * * * * root sleep 8; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php * * * * * root sleep 18; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php * * * * * root sleep 28; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php * * * * * root sleep 38; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php * * * * * root sleep 48; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php * * * * * root sleep 58; /usr/bin/timeout -k 5s 540s /usr/bin/php /home/nemec/signDaemon.php