[openssl-users] pkcs12 how to have different key friendlyName?
Sean Leonard
dev+openssl at seantek.com
Sat Feb 14 07:56:05 UTC 2015
On 2/13/2015 12:23 PM, Dr. Stephen Henson wrote:
> On Fri, Feb 13, 2015, Sean Leonard wrote:
>
>> Using the openssl pkcs12 -export command, how can one specify a
>> different friendlyName attribute for the private key?
>>
>> For example, consider the command:
>> openssl pkcs12 -export -out pkcs12.p12 -name "sean key 2015" -inkey
>> key.txt -in user.crt -name "sean user cert 2015" -certfile
>> othercerts.txt
>>
> I'm curious as to why you want to do this.
Well, as a PKI and S/MIME developer I am researching how various bits of
information relating to crypto objects can be preserved between systems.
It is useful to set the cert and key friendly names independently for
certain development and possibly usability reasons. Development reasons
include needing to address the private key specifically, regardless of
whether it is associated with any particular certificate, and to see
when certificates have private key (instances) on particular crypto tokens.
Usability reasons include distinguishing between certificates and
private keys for users, who tend to get confused about these things
because virtually no existing UIs meaningfully distinguish between the
two (usually certificates for which you have a private key are simply
called "certificates", or possibly "your certificates"...thus a user
sends "your [his/her] certificate" and while the user's mental model is
that the certificate is intended to be shared, the user unwittingly
sends along a p12 file with a simple password like 123456).
Whether the usability is an area of research that I am looking into. No
pronouncements can be made one way or another yet. Suffice to say that
the technical capability has to exist at the lower layer before one can
evaluate usability enhancements at higher layers.
>
> If no friendlyname is specified on the command line an "alias" associated with
> the certificate is used instead. You can associate an alias with a certificate
> like this:
>
> openssl x509 -in cert.pem -setalias "some name" -out newcert.pem
>
> Unfortunately the -name option specified on the command line will also be
> used even if there is an alias present. You can change this by looking in
> crypto/pkcs12/p12_crt.c in the function PKCS12_create. Comment out the
> following lines:
>
> if (name && !PKCS12_add_friendlyname(bag, name, -1))
> goto err;
>
> Then you can specify the certificate friendlyname using the alias and the
> private key friendly name using the command line -name option.
Sounds good...I will attempt this and report back. Ah, the TRUSTED
CERTIFICATE format returns...
Sean
More information about the openssl-users
mailing list