Я думаю, я использую phpseclib, поскольку в файле RSA нет функции loadKeys. Код работает, когда ключ вставлен в скрипт. Я вставил код в базу данных напрямую с помощью phpmyadmin. Моя машина для разработки — Win 10, но в рабочем состоянии она будет на внутреннем Linux-сервере
Код: Выделить всё
$lightsail = new lightsail();
$pub = $lightsail->getPemByName();
$pub = str_replace("\r", '', $pub ); // Noticed key returned had \r\n so corrected it but still fails
$key = new RSA();
$key->load( $pub );
Код: Выделить всё
( ! ) Fatal error: Uncaught Error: Call to a member function toBytes() on string in something\phpseclib\Crypt\RSA.php on line 724
( ! ) Error: Call to a member function toBytes() on string in something\phpseclib\Crypt\RSA.php on line 724
Call Stack
# Time Memory Function Location
1 0.2199 430880 {main}( ) ...\dequeue.php:0
2 40.8792 1169040 backup->backupDatabase( ) ...\dequeue.php:181
3 76.7275 2748016 phpseclib\Crypt\RSA->load( ???, ??? ) ...\my.class.php:986
Мой следующий подход — загрузить содержимое файла, если этот подход все-таки тупик.
Подробнее здесь: https://stackoverflow.com/questions/575 ... -phpseclib