Estoy tratando de usar la línea de comandos OpenSSL para generar una clave pública ECDH que cumpla con las siguientes especificaciones:
Utilice una estructura XPP.PublicKeyInfo codificada en Base64 que contiene una clave pública ECDH para el grupo P256
Los siguientes comandos me proporcionan una clave:
openssl ecparam -name prime256v1 -out prime256v1.pem
openssl ecparam -in prime256v1.pem -genkey -noout -out prime256v1-key.pem
openssl ec -in prime256v1-key.pem -pubout -out pubkey.pem
Key: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE85KGK3YiX7tC7mFm+Te1xRYOeDq23h80MPPt1nMZ/ZRpwjRGPEUr6vaoOCB8QC3uHmaPKOAgQ0Kk9Sc4M1QUmA==
Sin embargo, la API a la que estoy accediendo no acepta esta clave.
Un ejemplo de clave que funciona es:
MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACKoJz0lSBocGMsdl8TiMasRsBOxpMywCqzAoOLwZfUl0=
Esta clave de ejemplo es 44 (Base64) bytes más corta y tiene una firma SubjectPublickKeyInfo
ligeramente diferente.
Mi pregunta es cuál es la diferencia entre estas dos claves y cómo podría usar las herramientas de línea de comandos de OpenSSL para generar un par de claves de este tipo.