我试图使用bash shell脚本从openssl命令输出中提取模数

afdcj2ne  于 2023-08-07  发布在  Shell
关注(0)|答案(1)|浏览(102)

下面是我用来获取公钥的命令序列。一旦我得到公钥,我想从输出中提取模数。

  1. openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:1024 -out key_rsa_private_1024.pem
  2. openssl rsa -inform PEM -in key_rsa_private_1024.pem -text
  3. openssl rsa -in key_rsa_private_1024.pem -pubout -out key_rsa_pub_1024.pub
  4. openssl rsa -pubin -inform PEM -in key_rsa_pub_1024.pub -text
    输出如下所示-
Public-Key: (1024 bit)
Modulus:
    00:c5:f3:4b:c7:a3:c0:23:7a:0e:d4:f3:3e:07:06:
    4a:1e:7c:9d:ed:4d:23:8f:4b:00:6f:bc:f3:05:3b:
    62:2e:35:00:78:d2:af:7f:7a:f0:fe:e3:c0:37:f6:
    c3:58:4f:34:91:b7:91:a1:32:3e:d5:28:ab:f7:5d:
    5e:e6:ba:14:76:b8:84:d6:45:2d:48:47:68:53:39:
    54:55:d3:70:ef:f8:92:09:78:77:31:d6:ee:e5:6f:
    8e:59:4d:c2:40:1f:6d:7b:32:c7:b6:91:c4:75:9e:
    95:d6:d7:d9:39:60:f7:13:d5:95:4e:ff:4b:7d:dc:
    e8:fd:b0:a1:25:57:32:f5:ff
Exponent: 65537 (0x10001)
writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDF80vHo8Ajeg7U8z4HBkoefJ3t
TSOPSwBvvPMFO2IuNQB40q9/evD+48A39sNYTzSRt5GhMj7VKKv3XV7muhR2uITW
RS1IR2hTOVRV03Dv+JIJeHcx1u7lb45ZTcJAH217Mse2kcR1npXW19k5YPcT1ZVO
/0t93Oj9sKElVzL1/wIDAQAB
-----END PUBLIC KEY-----

字符串
我研究了一些命令,如grep和awk,但这些命令不能给予所需的输出。

eoigrqb6

eoigrqb61#

最好的解决方案可能是使用openssl rsa-modulus选项:

openssl rsa -pubin -inform PEM -in key_rsa_pub_1024.pub -noout -modulus

字符串
这将输出:

Modulus=DC861A72302F93EB42E56118C6D470261B457B0AA6B500A62EF6E0EE797A68042185B773489C037DD710AAAC424F3BBF90093B29CDF05850D333B27BE4751B41C87DC48632980CF030073FB33450BD72C41B5AE1F2DFD375AB193A31711437CBF08608D0DDAD0570E47EFC55F990F916839320F9FA7BC3EBE9C12DBEDDD479EF


如果要删除Modulus=部分,则:

openssl rsa -pubin -inform PEM -in key_rsa_pub_1024.pub -noout -modulus | cut -f2 -d=

相关问题