我需要在PHP中使用RSA加密一些数据。所有的库都要求指数和模数,但我得到一个像这样的单一公钥
公钥:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVnXLu0FM37CmUYjJuu4JaB6bo
liJ1b5BybAVcqlfvUxjpU+VVhKnZNd4IU7S0ITRTAKvoFk68CiUmaRA9871mfxjp
sX6YeNs913LyGwFw0bmno+1o6URBui2p3gHwGQL8R/jIl4NHC1TF47Q5Vj3RuraV
Ky4YH6dp7YIJRaU7JQIDAQAB
-----END PUBLIC KEY-----
如何从中检索公共指数和模数部分?
答案 0 :(得分: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应该持续多长时间,甚至不符合任何标准格式。