How to access keys on HW tokens via PKCS11 Provider?
Blumenthal, Uri - 0553 - MITLL
uri at ll.mit.edu
Tue Feb 7 20:41:37 UTC 2023
> How do you configure the actual PKCS#11 module (not the provider
> itself) to use and pin?
This is what I see in tests/tmp.softokn/openssl.cnf:
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
pkcs11 = pkcs11_sect
base = base_sect
[base_sect]
activate = 1
[default_sect]
activate = 1
[pkcs11_sect]
module = /Users/ur20980/src/pkcs11-provider/src/.libs/pkcs11.dylib
pkcs11-module-init-args = configDir=/Users/ur20980/src/pkcs11-provider/tests/tmp.softokn/tokens
pkcs11-module-token-pin = file:/Users/ur20980/src/pkcs11-provider/tests/pinfile.txt
#pkcs11-module-allow-export
activate = 1
I did not include "pkcs11-module-init-args", mainly because I've no idea what kind of init-args OpenSC module needs, and libp11 engine did not seem to need any (besides just pointing at the /usr/local/lib/opensc-pkcs11.so or such).
Likewise with pin - I expect OpenSSL to prompt me (interactively ;) for the pin and pass it to the provider.
And this is from tests/tmp.softhsm/openssl.cnf:
[pkcs11_sect]
module = /Users/ur20980/src/pkcs11-provider/src/.libs/pkcs11.dylib
pkcs11-module-token-pin = file:/Users/ur20980/src/pkcs11-provider/tests/pinfile.txt
#pkcs11-module-allow-export
activate = 1
Notice absence of pkcs11-module-init-args.
> There should be examples in the openssl.cnf generated by running tests.
Mostly useless (see above). Also, documentation for that specific provider is non-existent.
Copied PRKEY from "testvars":
Decrypt CMS message in file /tmp/derive.27307.text.cms...
OPENSSL_CONF=/Users/ur20980/openssl-3/etc/openssl.cnf /Users/ur20980/openssl-3/bin/openssl cms -aes256 -decrypt -binary -inform PEM -in /tmp/derive.27307.text.cms -out /tmp/derive.27307.text.dec -inkey "pkcs11:id=%00%03;type=private"
Could not open file or uri for loadingCould not read key etc. of signing key from pkcs11:id=%00%03;type=private
40E6BC57F87F0000:error:80000002:system library:file_open:No such file or directory:providers/implementations/storemgmt/file_store.c:265:calling stat(pkcs11:id=%00%03;type=private)
40E6BC57F87F0000:error:1608010C:STORE routines:inner_loader_fetch:unsupported:crypto/store/store_meth.c:353:No store loader found. For standard store loaders you need at least one of the default or base providers available. Did you forget to load them? Info: Global default library context, Scheme (pkcs11 : 0), Properties (<null>)
TNX
On Tue, Feb 7, 2023 at 8:42 PM Blumenthal, Uri - 0553 - MITLL
<uri at ll.mit.edu> wrote:
>
> > What is the OpenSSL version you use? There were some fixes after 3.0.7
> > related to some problems found by PKCS#11 provider authors.
>
> I'm still on 3.0.7 - hopefully move to 3.0.8 soon (as soon as Macports migrates to 3.0.8).
>
> If you think it's beneficial - I can do the same test with 3.2dev (current OpenSSL master).
>
> I still would like to know *exactly what the URI should look like*, e.g., for KEY MAN Key (encryption/decryption, PIV slot 9d).
>
> Thanks!
>
--
SY, Dmitry Belyavsky
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5249 bytes
Desc: not available
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20230207/cf238e18/attachment.p7s>
More information about the openssl-users
mailing list