0

我需要在 PHP 中使用 RSA 加密一些数据。周围的所有图书馆都要求指数和模数,但我得到一个像这样的公钥

公钥:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVnXLu0FM37CmUYjJuu4JaB6bo
liJ1b5BybAVcqlfvUxjpU+VVhKnZNd4IU7S0ITRTAKvoFk68CiUmaRA9871mfxjp
sX6YeNs913LyGwFw0bmno+1o6URBui2p3gHwGQL8R/jIl4NHC1TF47Q5Vj3RuraV
Ky4YH6dp7YIJRaU7JQIDAQAB
-----END PUBLIC KEY----- 

您如何从中检索公共指数和模数部分?

4

1 回答 1

2

你是怎么得到那把钥匙的?

openssl asn1parse -inform PEM -in pubkey.txt -i
    0:d=0  hl=3 l= 159 cons: SEQUENCE
    3:d=1  hl=2 l=  13 cons:  SEQUENCE
    5:d=2  hl=2 l=   9 prim:   OBJECT            :rsaEncryption
   16:d=2  hl=2 l=   0 prim:   NULL
   18:d=1  hl=3 l= 141 prim:  BIT STRING

据此,最后一个字节序列的长度应为 141,而整个密钥只有 119 个字符长。

暂时忽略 BIT STRING 应该有多长,甚至它似乎都不符合任何标准格式。

于 2011-08-22T01:47:15.917 回答