我尝试使用 phpseclib 签署一个 key ,当我使用 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:
为什么要这样做?
(这个错误花了我一段时间才弄清楚,所以我想我会通过在这里发布来帮助下一个解决这个问题的人)
最佳答案
问题是我正在加载 key 但忘记初始化它。
$publicKey = new Crypt_RSA();
$publicKey->loadKey($key);
$publicKey->setPublicKey(); //this line was missing
关于php - 为什么 phpseclib 没有正确签署这个证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16001889/