我有一个像这样的pem键:
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgDZUgDvKixfLi8cK8
/TFLY97TDmQV3J2ygPpvuI8jSdihRANCAARRN3xgbPIR83dr27UuDaf2OJezpEJx
UC3v06+FD8MUNcRAboqt4akehaNNSh7MMZI+HdnsM4RXN2y8NePUQsPL
-----END PRIVATE KEY-----
我只知道这个密钥用于ecdsa签名。
现在我想知道密钥的真正价值,因为我需要它来计算某些东西,我相信在真正价值面前有某种标题。
我尝试使用python-ecdsa来解析密钥,但显然没有用。
我怎样才能获得真正的价值?
答案 0 :(得分:1)
看起来你有一个ASN1结构代表NIST P-256曲线的ECDSA私钥,它被编码为PEM文件。
我能够使用OpenSSL命令行实用程序获取您的私钥和公钥以及曲线信息:
$ openssl ec -in test.pem -text -noout
read EC key
Private-Key: (256 bit)
priv:
0d:95:20:0e:f2:a2:c5:f2:e2:f1:c2:bc:fd:31:4b:
63:de:d3:0e:64:15:dc:9d:b2:80:fa:6f:b8:8f:23:
49:d8
pub:
04:51:37:7c:60:6c:f2:11:f3:77:6b:db:b5:2e:0d:
a7:f6:38:97:b3:a4:42:71:50:2d:ef:d3:af:85:0f:
c3:14:35:c4:40:6e:8a:ad:e1:a9:1e:85:a3:4d:4a:
1e:cc:31:92:3e:1d:d9:ec:33:84:57:37:6c:bc:35:
e3:d4:42:c3:cb
ASN1 OID: prime256v1
NIST CURVE: P-256
您还可以查看ASN1结构本身:
$ openssl asn1parse -in test.pem
0:d=0 hl=3 l= 135 cons: SEQUENCE
3:d=1 hl=2 l= 1 prim: INTEGER :00
6:d=1 hl=2 l= 19 cons: SEQUENCE
8:d=2 hl=2 l= 7 prim: OBJECT :id-ecPublicKey
17:d=2 hl=2 l= 8 prim: OBJECT :prime256v1
27:d=1 hl=2 l= 109 prim: OCTET STRING [HEX DUMP]:306B02010104200D95200EF2A2C5F2E2F1C2BCFD314B63DED30E6415DC9DB280FA6FB88F2349D8A1440342000451377C606CF211F3776BDBB52E0DA7F63897B3A44271502DEFD3AF850FC31435C4406E8AADE1A91E85A34D4A1ECC31923E1DD9EC338457376CBC35E3D442C3CB