$ wget https://go.dev/dl/go1.25.5.linux-arm64.tar.gz $ sudorm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz $ export PATH=$PATH:/usr/local/go/bin $ go version go version go1.25.5 linux/arm64
$ curl -LO https://github.com/leetronics/infnoise/archive/refs/tags/0.3.3.tar.gz $ tar xvzf 0.3.3.tar.gz $ cd infnoise-0.3.3/software $ sudo apt install libftdi-dev libusb-dev $ make -f Makefile.linux $ sudo make -f Makefile.linux install $ infnoise --version GIT VERSION - GIT COMMIT - GIT DATE -
$ sudo init 6 $ infnoise --debug --no-output Generated 1048576 bits. OK to use data. Estimated entropy per bit: 0.875965, estimated K: 1.835235 num1s:50.019069%, even misfires:0.183222%, odd misfires:0.123520% Generated 2097152 bits. OK to use data. Estimated entropy per bit: 0.873196, estimated K: 1.831716 num1s:49.909786%, even misfires:0.202971%, odd misfires:0.124232% ......
$ sudo -i $ source venv/bin/activate $ python pico-hsm-tool.py phy vidpid 20A0:4230 $ exit $ lsusb Bus 006 Device 003: ID 20a0:4230 Clay Logic Nitrokey HSM Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ...
Inside the unpacked directory you will find scsh3gui, which can be started using bash scsh3gui (for windows double-click on: scsh3gui.cmd).
Start key-manager (File -> Keymanager) Right-click “Smartcard-HSM” -> create DKEK share Choose file location Choose DKEK share password Right-click “Smartcard-HSM” -> Initialize device Enter SO-PIN (optional) Enter label and enter URL/Host Select authentication method: “User PIN” Allow RESET RETRY COUNTER: “Resetting and unblocking PIN with SO-PIN not allowed” Enter and confirm User PIN “Select Device Key Encryption scheme” -> “DKEK shares” Enter number of DKEK shares: 1 Right-click DKEK set-up in progress -> “Import DKEK share” Choose DKEK share file location Password for DKEK share Right-click “SmartCard-HSM” -> “Import from PKCS#12(Old)” Enter number of shares -> 1 Enter file location of DKEK share Enter Password for DKEK share Select PKCS#12 container for import (Enter password) Select Key Select Name to be used (intermediate-ca) Import more keys, if needed
导入完成后运行pkcs11-tool -O应该就可以看到导入的证书了
1 2 3 4 5 6 7
$ pkcs11-tool -O Using slot 0 with a present token (0x0) Certificate Object; type = X.509 cert label: intermediate-ca subject: DN: C=CN, O=D9Lab, OU=D9Lab Zero Certificate Authority, CN=D9Lab Zero Intermediate CA ID: 01 ...
$ unset STEPPATH $ step ca bootstrap --ca-url "https://ca.lab.d9lab.eu.org:4443" --fingerprint d6b3b9ef79a42aeeabcd5580b2b516458ddb25d1af4ea7ff0845e624ec1bb609 The root certificate has been saved in /home/disappear9/.step/certs/root_ca.crt. The authority configuration has been saved in /home/disappear9/.step/config/defaults.json.
$ step ca certificate "localhost" localhost.crt localhost.key $ step ca provisioner add acme --type acme --admin-name step