这个私钥的格式是什么?

时间:2016-09-29 04:08:22

标签: ecdsa

我有一个像这样的pem键:

 -----BEGIN PRIVATE KEY----- 

 MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgDZUgDvKixfLi8cK8
 /TFLY97TDmQV3J2ygPpvuI8jSdihRANCAARRN3xgbPIR83dr27UuDaf2OJezpEJx
 UC3v06+FD8MUNcRAboqt4akehaNNSh7MMZI+HdnsM4RXN2y8NePUQsPL

 -----END PRIVATE KEY-----

我只知道这个密钥用于ecdsa签名。

现在我想知道密钥的真正价值,因为我需要它来计算某些东西,我相信在真正价值面前有某种标题。

我尝试使用python-ecdsa来解析密钥,但显然没有用。

我怎样才能获得真正的价值?

1 个答案:

答案 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