compressed ecdsa public keys
Viktor Dukhovni
openssl-users at dukhovni.org
Mon Jun 5 13:50:18 UTC 2023
On Mon, Jun 05, 2023 at 09:17:18AM -0400, Robert Moskowitz wrote:
> is there a way in genkey to create an ECDSA P-256 in compressed format
> (now that the patent is well expired)?
>
> I have been looking at openssl docs for genkey, but not seeing it and
> how to then create the proper PEM files with the compressed value so I
> can then use openssl ca to create the certs with the public key compressed.
$ openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:prime256v1 |
openssl ec -conv_form compressed -out /tmp/key.pem
$ openssl req -x509 -new -subj / -key /tmp/key.pem -out /tmp/cert.pem
$ openssl x509 -in /tmp/cert.pem -text -noout
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
07:2e:36:b8:ce:43:2d:07:82:b9:0c:c3:d0:4a:c7:e1:4f:11:f8:10
Signature Algorithm: ecdsa-with-SHA256
Issuer:
Validity
Not Before: Jun 5 13:44:44 2023 GMT
Not After : Jul 5 13:44:44 2023 GMT
Subject:
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
02:ad:13:9c:0c:46:10:b6:56:84:02:dc:ba:38:da:
2f:25:00:1b:67:51:6d:22:b9:e3:d9:64:92:7a:f7:
da:3b:7a
ASN1 OID: prime256v1
NIST CURVE: P-256
X509v3 extensions:
X509v3 Subject Key Identifier:
25:6C:7C:DB:39:52:3F:02:60:B6:4F:CD:C3:48:16:36:2D:B3:EE:9A
X509v3 Authority Key Identifier:
keyid:25:6C:7C:DB:39:52:3F:02:60:B6:4F:CD:C3:48:16:36:2D:B3:EE:9A
X509v3 Basic Constraints: critical
CA:TRUE
Signature Algorithm: ecdsa-with-SHA256
30:45:02:21:00:9b:88:e7:e5:3c:d4:77:54:54:41:fa:2d:ed:
2e:cb:67:57:1c:7a:13:0e:c9:cc:10:4d:a3:0e:a3:04:8d:65:
70:02:20:5a:7c:0f:51:d5:40:10:1d:d6:7f:88:eb:99:d8:75:
9c:c9:d4:9e:3d:9d:e4:3c:51:0f:7f:e2:48:46:4b:dc:bc
Note that support for comressed EC keys is optional:
https://www.rfc-editor.org/rfc/rfc5480#section-2.2
Implementations of Elliptic Curve Cryptography according to this
document MUST support the uncompressed form and MAY support the
compressed form of the ECC public key. The hybrid form of the ECC
public key from [X9.62] MUST NOT be used.
--
Viktor.
More information about the openssl-users
mailing list