Security 如何从PEM中获得指数和模量

Security 如何从PEM中获得指数和模量,security,openssl,rsa,common-lisp,ironclad,Security,Openssl,Rsa,Common Lisp,Ironclad,为了执行非对称加密,Common的Lisp Ironcold库要求使用指数和模初始化密钥。考虑到我可能不想自己生成密钥,所以站在OpenSSL巨人的肩膀上进行密钥生成,我是这样做的 ssh-keygen-t rsa-C”foo@bar.com“ 检查fils生成的文件,我发现它是PEM格式的文件 file ~/.id_rsa => ~/.ssh/id_rsa: PEM RSA private key 下面是一些其他的问题,所以我明白了 openssl asn1parse -i -in ~

为了执行非对称加密,Common的Lisp Ironcold库要求使用指数和模初始化密钥。考虑到我可能不想自己生成密钥,所以站在OpenSSL巨人的肩膀上进行密钥生成,我是这样做的

ssh-keygen-t rsa-C”foo@bar.com“

检查fils生成的文件,我发现它是PEM格式的文件

file ~/.id_rsa
=> ~/.ssh/id_rsa: PEM RSA private key
下面是一些其他的问题,所以我明白了

openssl asn1parse -i -in ~/.ssh/id_rsa
    0:d=0  hl=4 l=1187 cons: SEQUENCE          
    4:d=1  hl=2 l=   1 prim:  INTEGER           :00
    7:d=1  hl=4 l= 257 prim:  INTEGER           :BBFB9E...
  268:d=1  hl=2 l=   3 prim:  INTEGER           :010001
  273:d=1  hl=4 l= 256 prim:  INTEGER           :769BE9...
  533:d=1  hl=3 l= 129 prim:  INTEGER           :ECCB14004...
  665:d=1  hl=3 l= 129 prim:  INTEGER           :CB3B02...
  797:d=1  hl=3 l= 128 prim:  INTEGER           :78054EF...
  928:d=1  hl=3 l= 128 prim:  INTEGER           :0D474BC43....
 1059:d=1  hl=3 l= 129 prim:  INTEGER           :D71D75FF....
现在,一些帖子说添加选项-strparse 19(其他18)来获得指数和模数。这就是我在以下行中得到错误的原因:

openssl asn1parse -i -in ~/.ssh/id_rsa -strparse 19
Error parsing structure
140334635108032:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:asn1_lib.c:142:
140334635108032:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306:
140334635108032:error:0D06A03A:asn1 encoding routines:ASN1_COLLECT:nested asn1 error:tasn_dec.c:1190:
因此,PEM可能不是asn1parse格式。我也试过使用-inform DER。因此,问题是如何从生成密钥到从PEM证书中获取模数和指数。

这可能有效吗

% openssl rsa -text -noout < id_rsa
Private-Key: (2048 bit)
modulus:
00:ad:03: ...
...
publicExponent: 35 (0x23)
privateExponent:
94:12:aa: ...
%openssl rsa-text-noout