Я генерирующий ключ EC, используя модуль питона криптография таким образомКак найти ASN.1 компоненты EC ключа питона-криптографию
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec
key=ec.generate_private_key(ec.SECP256R1(), default_backend())
АСН.1 структуру ключа ЕС выглядит следующим образом
ECPrivateKey ::= SEQUENCE {
version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
privateKey OCTET STRING,
parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
publicKey [1] BIT STRING OPTIONAL
}
от https://tools.ietf.org/html/rfc5915 setion 3.
мой вопрос заключается в том, чтобы получить компоненты ASN.1 из этого ключа. Я хочу, чтобы преобразовать ключевой объект в OpenSSH закрытого ключа, что-то вроде
-----BEGIN EC PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,9549ED842979FDAF5299BD7B0E25B384
Z+B7I6jfgC9C03Kcq9rbWKo88mA5+YqxSFpnfRG4wkm2eseWBny62ax9Y1izGPvb
J7gn2eBjEph9xobNewgPfW6/3ZDw9VGeaBAYRkSolNRadyN2Su6OaT9a2gKiVQi+
mqFeJmxsLyvew9XPkZqQIjML1d1M3T3oSA32zYX21UY=
-----END EC PRIVATE KEY-----
Легко с обработкой DSA или RSA, так как все параметры ASN.1 являются целыми числами в этом.
Спасибо заранее