tôi đang tạo ra một chìa khóa EC sử dụng mô-đun python mật mã theo cách nàyLàm thế nào để tìm thấy thành phần ASN.1 của EC chính python-mật mã
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec
key=ec.generate_private_key(ec.SECP256R1(), default_backend())
Cấu trúc ASN.1 của chính EC như sau
ECPrivateKey ::= SEQUENCE {
version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
privateKey OCTET STRING,
parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
publicKey [1] BIT STRING OPTIONAL
}
từ https://tools.ietf.org/html/rfc5915 setion 3.
câu hỏi của tôi là làm thế nào để có được các thành phần ASN.1 từ khóa này. Tôi muốn chuyển đổi đối tượng khóa sang khóa riêng OpenSSH, chẳng hạn như
-----BEGIN EC PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,9549ED842979FDAF5299BD7B0E25B384
Z+B7I6jfgC9C03Kcq9rbWKo88mA5+YqxSFpnfRG4wkm2eseWBny62ax9Y1izGPvb
J7gn2eBjEph9xobNewgPfW6/3ZDw9VGeaBAYRkSolNRadyN2Su6OaT9a2gKiVQi+
mqFeJmxsLyvew9XPkZqQIjML1d1M3T3oSA32zYX21UY=
-----END EC PRIVATE KEY-----
Dễ dàng xử lý DSA hoặc RSA vì tất cả tham số ASN.1 là số nguyên trong đó.
cảm ơn trước