<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.m-2110430064522934298msoplaintext, li.m-2110430064522934298msoplaintext, div.m-2110430064522934298msoplaintext
        {mso-style-name:m_-2110430064522934298msoplaintext;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">To update this thread. Please follow the commentary on the <a href="https://github.com/OpenSC/libp11/issues/249">
https://github.com/OpenSC/libp11/issues/249</a> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu><br>
<b>Date: </b>Friday, September 21, 2018 at 5:07 AM<br>
<b>To: </b>"Paras Shah (parashah)" <parashah@cisco.com>, "openssl-users@openssl.org" <openssl-users@openssl.org><br>
<b>Cc: </b>Nicola <nic.tuv@gmail.com><br>
<b>Subject: </b>Re: [openssl-users] Softhsm + engine_pkcs11 + openssl with EC keys fail.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Note that the key to reproducing this issue is compiling SoftHSMv2 with 1.1.1.  When compiled with 1.0.2p, everything else can be compiled against 1.1.1 and it works ok.<o:p></o:p></p>
<div id="AppleMailSignature">
<p class="MsoNormal">Regards,<o:p></o:p></p>
<div>
<p class="MsoNormal">Uri<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Sent from my iPhone<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
On Sep 21, 2018, at 02:09, Paras Shah (parashah) via openssl-users <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">I opened the issue <a href="https://github.com/openssl/openssl/issues/7258">
https://github.com/openssl/openssl/issues/7258</a> <o:p></o:p></p>
<p class="MsoNormal">Also, opened issue <a href="https://github.com/OpenSC/libp11/issues/249">
https://github.com/OpenSC/libp11/issues/249</a> <o:p></o:p></p>
<p class="MsoNormal">and <a href="https://github.com/opendnssec/SoftHSMv2/issues/417">
https://github.com/opendnssec/SoftHSMv2/issues/417</a> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Found the root cause to be the openssl version 1.1.1 that was used to compile the engine_pkcs11 and SoftHSM.
<o:p></o:p></p>
<p class="MsoNormal">When I recompiled with openssl-1.0.2p, it worked fine. See <a href="https://github.com/OpenSC/libp11/issues/249">
https://github.com/OpenSC/libp11/issues/249</a> for details.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Paras Shah (parashah)" <<a href="mailto:parashah@cisco.com">parashah@cisco.com</a>><br>
<b>Date: </b>Tuesday, September 18, 2018 at 10:06 AM<br>
<b>To: </b>Nicola <<a href="mailto:nic.tuv@gmail.com">nic.tuv@gmail.com</a>>, "<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>" <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>><br>
<b>Subject: </b>Re: [openssl-users] Softhsm + engine_pkcs11 + openssl with EC keys fail.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">Sure. I will open the issue.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Nicola <<a href="mailto:nic.tuv@gmail.com">nic.tuv@gmail.com</a>><br>
<b>Date: </b>Monday, September 17, 2018 at 10:05 PM<br>
<b>To: </b>"Paras Shah (parashah)" <<a href="mailto:parashah@cisco.com">parashah@cisco.com</a>>, "<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>" <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>><br>
<b>Subject: </b>Re: [openssl-users] Softhsm + engine_pkcs11 + openssl with EC keys fail.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Would it be possible for you to open this as an issue on Github and include there your first email and the full logs?
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Nicola Tuveri<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, 18 Sep 2018 at 01:15, Paras Shah (parashah) via openssl-users <<a href="mailto:openssl-users@openssl.org">openssl-users@openssl.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="m-2110430064522934298msoplaintext">That is not it. It results in the same error for the EC key.<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"> <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">It is not the URL or the ID. Because for a RSA key in the softhsm with id = 3333, it works fine with url containing id=%33%33<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"> <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>$ openssl pkey -in "pkcs11:model=SoftHSM%20v2;manufacturer=SoftHSM%20project;serial=6a160d52b750862f;token=token%202.5.0-rc1;id=%33%33;object=rsa%20key;type=private" -engine pkcs11 -inform ENGINE</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>engine "pkcs11" set.</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>Enter PKCS#11 token PIN for token 2.5.0-rc1:</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>-----BEGIN PRIVATE KEY-----</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>MIIBJwIBADANBgkqhkiG9w0BAQEFAASCAREwggENAgEAAoIBAQDD3378F1XbXJvP</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>WP2GtZry0u6sL3eNYktQwJfhDMz5evDG+PahVjCMszV5CZvG+Kvap40xPBJoonqi</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>oMAQsoLu7/fTx82aEL3TbdjXNLFnQ2KKYmfG9ymx80sLHMmdmDXpNNE+bEKJz1dp</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>t1Q0cVduwmqSfB8JyIE6Udz7JX7HCXaVmxoK7z4Njh3dyHsqhdqKIx0dBuK0hCaq</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>4zPzGP/sORA3G9ZPxxpEvF3gvE/zsXj7ifihqbqr2eIFOpB/lQqAehsgQT5/6Iq+</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>9pAX2LCxNkaUHYYZpMkM8Oi37jzg8PX/FnHdm9HQU2IBqYhoqo7/VsNdUDln2QHN</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>dGAUprcbAgMBAAE=</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i>-----END PRIVATE KEY-----</i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"><i> </i><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">Coming back to EC key, looking at the error logs emitted, it does seem to recognize it to be EC (the logs contain EC_routines) somehow but then fails.
<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"> <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">On 9/17/18, 2:22 PM, "openssl-users on behalf of Richard Levitte" <<a href="mailto:openssl-users-bounces@openssl.org" target="_blank">openssl-users-bounces@openssl.org</a> on behalf of
<a href="mailto:levitte@openssl.org" target="_blank">levitte@openssl.org</a>> wrote:<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext"> <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    In message <<a href="mailto:4AC69FC3-BEC7-46F6-882A-671196FC0156@contoso.com" target="_blank">4AC69FC3-BEC7-46F6-882A-671196FC0156@contoso.com</a>> on Mon, 17 Sep 2018 20:59:59 +0000, "Paras Shah (parashah)"
 <<a href="mailto:parashah@cisco.com" target="_blank">parashah@cisco.com</a>> said:<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > 4. Import the key into softhsm<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > []:~$ softhsm2-util --import ~/tmp/secp256k1-key.pem.pkcs8 --label "ec key" --id 1111 --token<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > "token 2.5.0-rc1"<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    Ok, so here, the ID is "1111"<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > 5. Get the pkcs11 url for the private key<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > []:~$ p11tool --login --provider=/usr/local/lib/softhsm/libsofthsm2.so --set-pin=1111 --list-all<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > Object 0:<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > URL:<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    > pkcs11:model=SoftHSM%20v2;manufacturer=SoftHSM%20project;serial=6a160d52b750862f;token=token%202.5.0-rc1;id=%11%11;object=ec%20key;type=private<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    But here, the ID is "%11%11", and since those get percent decoded,<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    that's actually two vertical tabs, or with C vector syntax,<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    { 0x0b, 0x0b }<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    I'm not sure what engine-pkcs11 asks of you otherwise, but one guess<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    could be to change 'id=%11%11' to 'id=1111' in that URL and try again.<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    Cheers,<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    Richard<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    -- <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    Richard Levitte         <a href="mailto:levitte@openssl.org" target="_blank">levitte@openssl.org</a><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    OpenSSL Project         <a href="http://www.openssl.org/~levitte/" target="_blank">
http://www.openssl.org/~levitte/</a><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    -- <o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    openssl-users mailing list<o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" target="_blank">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><o:p></o:p></p>
<p class="m-2110430064522934298msoplaintext">    <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">-- <br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" target="_blank">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">-- <br>
openssl-users mailing list<br>
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><o:p></o:p></p>
</div>
</blockquote>
</div>
</body>
</html>