latchset / pkcs11-provider

A pkcs#11 provider for OpenSSL 3.0+
Other
65 stars 39 forks source link

make check returns error #232

Closed arithmetic1728 closed 1 year ago

arithmetic1728 commented 1 year ago

Describe the bug (1) git clone this repo (2) run autoreconf -fi, ./configure, make, make check. The first three work fine, make check shows the following error

make[3]: *** [Makefile:1437: tmp.softhsm] Error 1
make[3]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make[2]: *** [Makefile:1016: check-TESTS] Error 2
make[2]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make[1]: *** [Makefile:1285: check-am] Error 2
make[1]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make: *** [Makefile:461: check-recursive] Error 1

It seems there are some issues with softhsm. In the test folder I can see tmp.softokn folder but no tmp.softhsm folder. What is missing here?

Operating environment (please complete the following information):

simo5 commented 1 year ago

@arithmetic1728 any error or warning from the configure step?

arithmetic1728 commented 1 year ago

No there is no error or warning from the configure step

simo5 commented 1 year ago

Could you check what is happening at line 1437 or your generated tests/Makefile ?

simo5 commented 1 year ago

Also do you have a setup-softhsm.log file by chance? That would give setup errors ...

simo5 commented 1 year ago

@arithmetic1728 any luck with setup-softhsm.log ? If I have no data I can't help and will eventually close the bug

arithmetic1728 commented 1 year ago

The setup-softhsm.log is an empty file.

Line 1437

tmp.softhsm:
    LIBSPATH=$(libspath) \    <=== 1437
    TESTSSRCDIR=$(testssrcdir) \
    TESTBLDDIR=$(testsblddir) \
    SHARED_EXT=$(SHARED_EXT) \
    P11KITCLIENTPATH="$(P11KITCLIENTPATH)" \
    $(testssrcdir)/setup-softhsm.sh > setup-softhsm.log 2>&1

The full log of make test (removed the gcc compilation messages)

make[2]: Nothing to be done for 'helpers.sh'.
make[2]: Nothing to be done for 'setup-softhsm.sh'.
make[2]: Nothing to be done for 'setup-softokn.sh'.
make[2]: Nothing to be done for 'softhsm-proxy.sh'.
make[2]: Nothing to be done for 'test-wrapper'.
make[2]: Nothing to be done for 'tbasic'.
make[2]: Nothing to be done for 'tcerts'.
make[2]: Nothing to be done for 'tecc'.
make[2]: Nothing to be done for 'tecdh'.
make[2]: Nothing to be done for 'tedwards'.
make[2]: Nothing to be done for 'tdemoca'.
make[2]: Nothing to be done for 'thkdf'.
make[2]: Nothing to be done for 'toaepsha2'.
make[2]: Nothing to be done for 'trsapss'.
make[2]: Nothing to be done for 'tdigest'.
make[2]: Nothing to be done for 'ttls'.
make[2]: Nothing to be done for 'tpubkey'.
make[2]: 'tfork' is up to date.
make[2]: Nothing to be done for 'turi'.
make[2]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make  check-TESTS
make[2]: Entering directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make[3]: Entering directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
LIBSPATH=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/src/.libs \
TESTSSRCDIR=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests \
TESTBLDDIR=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests \
SHARED_EXT=.so \
SOFTOKNPATH="/" \
/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests/setup-softokn.sh > setup-softokn.log 2>&1
LIBSPATH=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/src/.libs \
TESTSSRCDIR=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests \
TESTBLDDIR=/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests \
SHARED_EXT=.so \
P11KITCLIENTPATH="" \
/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests/setup-softhsm.sh > setup-softhsm.log 2>&1
make[3]: *** [Makefile:1437: tmp.softhsm] Error 1
make[3]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make[2]: *** [Makefile:1016: check-TESTS] Error 2
make[2]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make[1]: *** [Makefile:1285: check-am] Error 2
make[1]: Leaving directory '/usr/local/google/home/sijunliu/wks/provider/pkcs11-provider/tests'
make: *** [Makefile:461: check-recursive] Error 1
simo5 commented 1 year ago

I assume you mean "make check" when you write "make test" ?

It is odd that this fails w/o anything in the logs though. Do you have the command softhsm2-util installed? Or certtool?

The P11KITCLIENTPATH can't be empty, see setup-softhsm.sh at line 43, that said I am again surprised you wouldn't find it in the log.

I would look at the output of confgiure or config.log to see what dependencies you are missing. We run CI on both Fedora and Debian and it works there.

arithmetic1728 commented 1 year ago

It seems I need to install certtool. Closing the bug. Thank you for your support!

Ayke commented 1 year ago

The same error happens to me.

Environment:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

make check prints:

make[2]: Nothing to be done for 'helpers.sh'.
make[2]: Nothing to be done for 'setup-softhsm.sh'.
make[2]: Nothing to be done for 'setup-softokn.sh'.
make[2]: Nothing to be done for 'softhsm-proxy.sh'.
make[2]: Nothing to be done for 'test-wrapper'.
make[2]: Nothing to be done for 'tbasic'.
make[2]: Nothing to be done for 'tcerts'.
make[2]: Nothing to be done for 'tecc'.
make[2]: Nothing to be done for 'tecdh'.
make[2]: Nothing to be done for 'tedwards'.
make[2]: Nothing to be done for 'tdemoca'.
make[2]: Nothing to be done for 'thkdf'.
make[2]: Nothing to be done for 'toaepsha2'.
make[2]: Nothing to be done for 'trsapss'.
make[2]: Nothing to be done for 'tdigest'.
make[2]: Nothing to be done for 'ttls'.
make[2]: Nothing to be done for 'tpubkey'.
make[2]: 'tfork' is up to date.
make[2]: Nothing to be done for 'turi'.
make[2]: Nothing to be done for 'trand'.
make[2]: Leaving directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
make  check-TESTS
make[2]: Entering directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
make[3]: Entering directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
LIBSPATH=/home/eluo/lab/pkcs11-provider-0.2/src/.libs \
TESTSSRCDIR=/home/eluo/lab/pkcs11-provider-0.2/tests \
TESTBLDDIR=/home/eluo/lab/pkcs11-provider-0.2/tests \
SHARED_EXT=.so \
SOFTOKNPATH="/usr/lib/x86_64-linux-gnu/nss/" \
/home/eluo/lab/pkcs11-provider-0.2/tests/setup-softokn.sh > setup-softokn.log 2>&1
LIBSPATH=/home/eluo/lab/pkcs11-provider-0.2/src/.libs \
TESTSSRCDIR=/home/eluo/lab/pkcs11-provider-0.2/tests \
TESTBLDDIR=/home/eluo/lab/pkcs11-provider-0.2/tests \
SHARED_EXT=.so \
P11KITCLIENTPATH="/usr/local/lib/pkcs11/p11-kit-client.so" \
/home/eluo/lab/pkcs11-provider-0.2/tests/setup-softhsm.sh > setup-softhsm.log 2>&1
make[3]: *** [Makefile:1415: tmp.softhsm] Error 1
make[3]: Leaving directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
make[2]: *** [Makefile:1101: check-TESTS] Error 2
make[2]: Leaving directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
make[1]: *** [Makefile:1168: check-am] Error 2
make[1]: Leaving directory '/home/eluo/lab/pkcs11-provider-0.2/tests'
make: *** [Makefile:470: check-recursive] Error 1

I checked setup-softhsm.log and found:

...

Signing certificate...
Using slot 0 with a present token (0x712455d9)
Created certificate:
Certificate Object; type = X.509 cert
  label:      ecPeerCert
  subject:    DN: CN=My Peer EC Cert, O=PKCS11 Provider
  ID:         0003
EC PKCS11 URIS
pkcs11:id=%00%02;pin-value=12345678
pkcs11:id=%00%02
pkcs11:type=public;id=%00%02
pkcs11:type=private;id=%00%02
pkcs11:type=cert;object=ecCert
pkcs11:id=%00%03;pin-value=12345678
pkcs11:id=%00%03
pkcs11:type=public;id=%00%03
pkcs11:type=private;id=%00%03
pkcs11:type=cert;object=ecPeerCert

Using slot 0 with a present token (0x712455d9)
**error: Unknown EC key params 'edwards25519'**
Aborting.

certtool and libtool etc. have been installed

simo5 commented 1 year ago

Perhaps you have a too old version of softhsm ?