@@ -32,6 +32,23 @@ test:unit:
32
32
33
33
# Install OpenSSL
34
34
- apt-get update && apt-get install -yyq liblzma-dev libssl-dev
35
+ # Install SoftHSM, OpenSC, GnuTLS
36
+ - apt-get install -yyq softhsm2 opensc opensc-pkcs11 libengine-pkcs11-openssl gnutls-bin
37
+ - mkdir -p /softhsm/tokens
38
+ - echo "directories.tokendir = /softhsm/tokens" > /softhsm/softhsm2.conf
39
+ - export SOFTHSM2_CONF=/softhsm/softhsm2.conf
40
+ - softhsm2-util --init-token --free --label unittoken1 --pin 0001 --so-pin 0002 --slot 0
41
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so -l -k --key-type rsa:2048 --id 0003 --label unittestkey0 --pin 0001
42
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so --show-info
43
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so --list-slots
44
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so --list-token-slots
45
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so --list-mechanisms
46
+ - pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so --list-objects
47
+ - p11tool --login --provider=/usr/lib/softhsm/libsofthsm2.so --set-pin=0001 --list-all
48
+ - export TEST_KEY_URI=`p11tool --login --provider=/usr/lib/softhsm/libsofthsm2.so --set-pin=0001 --list-all 2>/dev/null | grep type=private | awk '{print($NF";pin-value=0001");}'`
49
+ - echo using $TEST_KEY_URI;
50
+ - echo -ne "[openssl_init]\nengines=engine_section\n\n[engine_section]\npkcs11 = pkcs11_section\n\n[pkcs11_section]\nengine_id = pkcs11\nMODULE_PATH = /usr/lib/softhsm/libsofthsm2.so\ninit = 0\n" >> /etc/ssl/openssl.cnf
51
+ - openssl req -new -x509 -subj "/CN=MenderUnits" -engine pkcs11 -keyform engine -key "${TEST_KEY_URI}" -out cert.pem
35
52
36
53
script :
37
54
# Test if code was formatted with 'go fmt'
@@ -48,6 +65,7 @@ test:unit:
48
65
# Execute go test on every local subpackage (resolved as dependencies) and generate covreage report for each.
49
66
# Test packages pararell (xargs -P)
50
67
- sed -i -e 's/CipherString = DEFAULT@SECLEVEL=2/# CipherString = DEFAULT@SECLEVEL=2/' /etc/ssl/openssl.cnf
68
+ - export TEST_KEY_URI=`p11tool --login --provider=/usr/lib/softhsm/libsofthsm2.so --set-pin=0001 --list-all 2>/dev/null | grep type=private | awk '{print($NF";pin-value=0001");}'`
51
69
- go test -parallel 1 -count 1 -v -covermode=atomic -coverprofile=coverage.txt -coverpkg ./... ./... || exit $?
52
70
53
71
# Collect coverage reports
0 commit comments