是否可以从密钥中获取数据?

时间:2014-09-02 12:17:33

标签: openssl rsa m2crypto

是否可以从密钥中获取任何用户可读数据,如下所示

uchar DELTA_PUB_KEY[]  = {
0x7c, 0x5b, 0x31, 0x88, 0x25, 0x64, 0x43, 0xaa,
0x34, 0x97, 0x6b, 0x7d, 0x22, 0x9a, 0x56, 0xdd,
0x5e, 0xab, 0x2f, 0xd6, 0x10, 0x34, 0x12, 0x6b,
0x12, 0xfa, 0x34, 0x54, 0x33, 0xee, 0x32, 0xde,
0x13, 0x54, 0x12, 0x23, 0x98, 0x7e, 0xe6, 0xee
0x34, 0x72, 0x91, 0xfb, 0x67, 0x98, 0x56, 0x34
};

我要求查看与上面类似的密钥内部有什么内容。

以下命令

我应该得到什么信息
To print out the components of a private key to standard output:

     openssl rsa -in key.pem -text -noout

该命令是否会用于获取所需数据?我认为不可能从密钥中读取任何信息,但我需要你的意见。请帮我从密钥中获取数据。

1 个答案:

答案 0 :(得分:1)

如果您有结构化格式的密钥,例如PEM编码的RSAPrivateKey ASN.1对象,那么您可以使用OpenSSL等工具打印一些信息。通常,这只是密钥的标记部分。

例如,运行openssl rsa -in key.pem -text -noout会产生类似于:

的内容
Private-Key: (512 bit)
modulus:
    00:bd:50:d9:87:f5:67:0f:61:f2:4d:f9:0b:5c:c5:
    0b:4d:c2:c9:7b:b4:fc:b0:d5:65:0e:ea:b8:36:33:
    3a:18:2d:1a:41:76:e5:46:b3:d3:35:34:29:85:ac:
    d2:2b:c5:d8:0b:30:80:9f:d5:dd:64:c3:d3:61:32:
    f9:67:8c:e9:4b
publicExponent: 65537 (0x10001)
privateExponent:
    38:ad:0f:b2:a8:41:26:55:c8:58:97:8a:53:47:9a:
    4e:b9:55:e0:77:1a:7f:46:23:6f:07:ce:06:4b:e7:
    c4:7c:97:bd:e7:02:f6:0b:28:14:24:d5:b9:48:23:
    a1:2c:01:bf:cd:60:40:a9:42:82:7e:1e:73:71:87:
    4b:58:d5:61
prime1:
    00:f3:0a:f4:7f:48:84:f3:d2:3c:f0:5b:25:d2:f5:
    46:76:b5:cf:7d:d3:39:37:03:ba:56:08:2e:ec:01:
    3b:0c:35
prime2:
    00:c7:68:a1:2e:22:53:03:83:27:f2:28:6a:54:f2:
    57:0c:d6:75:d5:ad:d9:ef:08:75:ab:ac:6b:18:59:
    37:cf:7f
exponent1:
    4a:52:5a:4c:26:18:0a:1b:8b:69:10:e6:73:29:70:
    3f:d2:ff:3d:81:ff:28:14:aa:c1:ae:44:f3:04:b9:
    52:d5
exponent2:
    70:39:37:34:b2:86:8b:9c:7d:97:b0:1d:1f:8f:7f:
    64:2f:32:03:be:a2:be:fe:c0:d2:8b:e7:7d:bd:80:
    46:5b
coefficient:
    00:81:44:0f:d2:71:a7:40:d1:31:43:4e:04:ce:c3:
    e4:67:fb:aa:8a:bc:dc:86:7a:74:7f:65:94:b5:b3:
    b4:f1:23

您提供的示例数据似乎不是ASN.1,因此我不确定您可以从中获取哪些信息。它只有40个字节,所以也许它是320位RSA公钥的模数?如果是这样,那就非常弱,并且不值得使用。

相关问题