Почему phpseclib неправильно подписывает этот сертификат?

Я пытаюсь подписать ключ с помощью 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:

Почему оно это делает?

(Мне потребовалось некоторое время, чтобы разобраться с этой ошибкой, поэтому я решил помочь следующему человеку решить эту проблему, опубликовав ее здесь)


person chacham15    schedule 14.04.2013    source источник


Ответы (1)


Проблема в том, что я загружал ключ, но забыл его инициализировать.

$publicKey = new Crypt_RSA();
$publicKey->loadKey($key);
$publicKey->setPublicKey(); //this line was missing
person chacham15    schedule 14.04.2013