我尝试用phpseclib签名密钥,当我用openssl解码结果时,我得到以下内容:
140513785948000:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:asn1_lib.c:142: 140513785948000:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1306: 140513785948000:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=X509 140513785948000:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:
为什么要这样做?
(这个错误花了我一段时间才弄明白,所以我想通过在这里发布来帮助下一个解决这个问题的人)
答案 0 :(得分:2)
问题是我正在加载密钥但忘记初始化它。
$publicKey = new Crypt_RSA();
$publicKey->loadKey($key);
$publicKey->setPublicKey(); //this line was missing