-keyform ENG and NodeJS

Erik Madsen emadsen at hbmachining.com
Mon Jun 3 01:47:25 UTC 2019

Sorry about that

It is TLS and we want Root Of Trust from a non exportable, non readable Private key on the Hardware Security Module.

By explicitly adding "-keyform ENG" s_client works perfectly.

And with cURL "--key-type ENG" also works

NodeJs crypto module has setEngine but there's no option for passing keyform.

I requested from NodeJs team as well, but if we can do something to tell openssl "keyform is always ENG" I think maybe that would work.

-------- Original Message --------
From: Viktor Dukhovni <openssl-users at dukhovni.org>
Sent: Sun Jun 02 18:35:37 PDT 2019
To: openssl-users at openssl.org
Subject: Re: -keyform ENG and NodeJS

On Sun, Jun 02, 2019 at 05:49:10PM -0700, Erik Madsen wrote:

> I am using a Hardware Security Module.  Both s_client and cURL work fine 
> due to we can use the CLI "-keyform ENG" for s_client and "--key-type 
> ENG" for curl
> Is it possible to specify this in the openssl.cnf file instead of the CLI?

You could be a bit more explicit about whether this a TLS or some
other application.  Configuration is "module"-specific.

> For testing this, the following works:
> openssl s_client -connect host:port -engine engineSO -keyform ENG -cert 
> /path/to/signed/cert
> If we can do like this:
> OPENSSL_CONF=openssl.cnf openssl s_client -connect host:port -engine 
> engineSO -cert /path/to/signed/cert (removed the -keyform)
> I think will work fine

I don't believe that the SSL "conf module" presently supports a
"command" that allows you specify the "keyform" of a private key
file.  It has a "PrivateKey" "command", but this appears to be
unconditionally limited to PEM.

If anyone else knows otherwise, corrections welcome

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20190602/38b2d09c/attachment.html>

More information about the openssl-users mailing list