php - 为什么 phpseclib 没有正确签署这个证书?

标签 php x509 phpseclib

我尝试使用 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/

相关文章:

javascript - LeadiD_token 获取值

php - 重置计算结果

javascript - 在表单提交表单后显示成功弹出窗口?

c# - 像浏览器一样过滤客户端证书

C# 支持对单个 XML 元素进行 RSA SHA 256 签名

java - php中的RSA加密到JAva中的RSA解密

php - 难以从MySQL按升序显示数据

python - 我可以完全用 Python 签署 X509 证书吗?

phpseclib exec() 返回未格式化的文本?

php - 通过 PHP (phpseclib) 上传文件到 SFTP 服务器