[openssl CMP with pkcs11 engine]
David von Oheimb
dev at ddvo.net
Mon Jul 12 19:53:42 UTC 2021
Hi Marc,
I just came across your below message of March, which arrived in a bit
weird form (I removed duplicate text sections in the below quote) and
appears unanswered - sorry for that.
It has been a while since I last used engines, but the following variant
-newkey org.openssl.engine:pkcs11:<keyid>
should work, rather than
-engine pkcs11 -keyform engine
because the latter pertains to all key options used, including -key,
which is not what you want.
HTH,
David
On 25.03.21 18:56, mbalembo wrote:
>
> Hello all,
>
>
> I'm trying to do a CMP request using openssl with a private key inside
> a pkcs11 device (on linux).
> So i'm using opsenssl 3.0.0 alpha 13.
>
> I did compile fine (./config --prefix=/opt/openssl enable-deprecated
> --openssldir=/usr/local/ssl -Wl,-rpath=/opt/openssl/lib),
> but i ran into trouble when compiling libp11 to get my pkcs11 engine.
> (i had a similar issue while trying to use tpm2-tss-engine)
> I can't find a way to build openssl with ERR_put_error() symbol.
> I know it's deprecated so i changed the code in libp11 to use
> ERR_raise() instead, but again the symbol is also missing.
> I ended up removing the function call in the engine as a dirty fix,
> but i'd like to have a better solution.
>
>
> So, with everything compiled, I tried to use the engine only and
> create a CSR first.
>
> # /opt/openssl/bin/openssl req -new -engine pkcs11 -keyform engine
> -key
> "pkcs11:model=SLB9670;manufacturer=Infineon;serial=0000000000000000;token=tpm2-token;id=%c1%b2%36%b2%eb%53%f0%4f%ea%24%1a%4d%01%ac%d1%9e%fe%11%19%6d;object=test;type=private;pin-value=000000"
> -subj "<my subject>" -out testpkcs11.csr
>
>
> and, everything works so far !
>
> but i get errors when trying to do a CMP request with the engine,
> thing is, i'm not so sure of the command.
>
> # /opt/openssl/bin/openssl cmp -cmd ir -engine pkcs11 -server <my
> server>:8080 -path ejbca/publicweb/cmp/WKS-RA-Bootstrap_auth -cert
> <path to my cert> -key file:<path to key file> -keypass
> file:<password for the file> -keyform engine -newkey
> "pkcs11:model=SLB9670;manufacturer=Infineon;serial=0000000000000000;token=tpm2-token;id=%c1%b2%36%b2%eb%53%f0%4f%ea%24%1a%4d%01%ac%d1%9e%fe%11%19%6d;object=test;type=private;pin-value=000000"
> -subject '<my subject>' -certout testcmppkcs11.pem -trusted <> my
> root CA> -reqexts san -config /opt/conf/openssl_reqext.cnf
>
>
> i get the following error :
>
> cmp_main:apps/cmp.c:2728:CMP info: using section(s) 'cmp' of
> OpenSSL configuration file '/opt/conf/openssl_reqext.cnf'
> cmp_main:apps/cmp.c:2737:CMP info: no [cmp] section found in
> config file '/opt/conf/openssl_reqext.cnf'; will thus use just
> [default] and unnamed section if
> present
>
> Engine "pkcs11"
> set.
> Format not
> recognized!
>
> The key ID is not a valid PKCS#11
> URI
> The PKCS#11 URI format is defined by RFC7512
>
>
> The legacy ENGINE_pkcs11 ID format is also still accepted for
> now
> Format not recognized!
>
>
> The key ID is not a valid PKCS#11
> URI
>
> The PKCS#11 URI format is defined by
> RFC7512
>
> The legacy ENGINE_pkcs11 ID format is also still accepted for
> now
> PKCS11_get_private_key returned
> NULL
> Could not read private key for CMP client certificate from
> org.openssl.engine:pkcs11:file:/foo/usine.boot.key.pem
> 00E01783A47F0000:error:13000080:engine
> routines:ENGINE_load_private_key:failed loading private
> key:crypto/engine/eng_pkey.c:78:
> cmp_main:apps/cmp.c:2879:CMP error: cannot set up CMP context
>
>
> I'm quite confuse about the PKCS11 error since i know from the req
> command that openssl rsa show that the passphrase for the CMP client
> certificate is good.
> my URI is good and openssl rsa show that the passphrase for the CMP
> client certificate is good.
>
> I've tried various modification of the command, mostly removing the
> "keyform engine" and using just 'newkey "pkcs11:(...)" ' with no succes.
>
> Maybe openssl is mixing engine format for everything and not just for
> the newkey ?
>
>
> Thanks,
> Marc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20210712/30728980/attachment.html>
More information about the openssl-users
mailing list