JWT Signer Rsa.php - неперехваченное исключение - недопустимое исключение аргумента

при попытке установить nexmo voice api я получаю сообщение об ошибке, которое я не могу решить самостоятельно (имея ограниченные знания о серверах и т. д.)

php /srv/www/...html/func/services/neo/voice_api_first_tts_call.php

Hi, using your key: xxxxxxxxxxxx and secret: xxxxxxxxxxx make a Call with Voice API.

0Using application ID App SMS n VoiceMail to call 0049xxxxx

Generate a JWT for  App SMS n VoiceMail.


    Fatal error: Uncaught exception 'InvalidArgumentException' with message 'It was not possible to parse your key, reason: ' in /root/vendor/lcobucci/jwt/src/Signer/Rsa.php:57

Stack trace:
 /root/vendor/lcobucci/jwt/src/Signer/Rsa.php(26): Lcobucci\JWT\Signer\Rsa->validateKey(false)

1 /root/vendor/lcobucci/jwt/src/Signer/BaseSigner.php(34): Lcobucci\JWT\Signer\Rsa->createHash('eyJ0eXA...', Object(Lcobucci\JWT\Signer\Key))

2 /root/vendor/lcobucci/jwt/src/Builder.php(241): Lcobucci\JWT\Signer\BaseSigner->sign('eyJ0eXA...', Object(Lcobucci\JWT\Signer\Key))

3 /srv/www/nhv/html/func/services/nexmo/voice_api_first_tts_call.php(61): Lcobucci\JWT\Builder->sign(Object(Lcobucci\JWT\Signer\Rsa\Sha256), Object(Lcobucci\JWT\Signer\Key))

4 /srv/www/nhv/html/func/services/nexmo/voice_api_first_tts_call.php(124): generate_token('App SMS n Voice...', 'App SMS n Voice...')

5 {main}
  thrown in /root/vendor/lcobucci/jwt/src/Signer/Rsa.php on line 57

(я не совершенно уверен, актуально ли это, но на сервере есть настройка nginx / apache)

Я нашел скрипт, в котором возникает ошибка, так что я имею дело с openssl ...?

    private function validateKey($key)
    {
        if ($key === false) {
            throw new InvalidArgumentException(
                'It was not possible to parse your key, reason: ' . openssl_error_string()
            );
        }
        $details = openssl_pkey_get_details($key);
        if (!isset($details['key']) || $details['type'] !== OPENSSL_KEYTYPE_RSA) {
            throw new InvalidArgumentException('This key is not compatible with RSA signatures');
        }
    }    

Похоже, $ key = false, ... значит, в скрипте отсутствует ключ $, ....? который сюда попадает:

 $key = openssl_get_privatekey($key->getContent(), $key->getPassphrase());
0
задан 11 October 2016 в 01:04
1 ответ

Ответ найден:

На самом деле файл отсутствовал из-за скрипта-прототипа, который не считал, что файл может находиться в другой папке.

0
ответ дан 24 November 2019 в 05:38

Теги

Похожие вопросы