Не удалось создать токен Apple Music JWT

Я пытаюсь создать токен Apple Music JWT.

У меня есть действительный keyId, teamId и файл .p8 + я установил последнюю версию pyjwt и криптографии.

Когда я пытаюсь выполнить python music_token.py, я получаю следующую ошибку.

(Загружен скрипт music_token.py для здесь)

Traceback (most recent call last):
  File "music_token.py", line 33, in <module>
    token = jwt.encode(payload, secret, algorithm=alg, headers=headers)
  File "/Library/Python/2.7/site-packages/jwt/api_jwt.py", line 56, in encode
    json_payload, key, algorithm, headers, json_encoder
  File "/Library/Python/2.7/site-packages/jwt/api_jws.py", line 102, in encode
    key = alg_obj.prepare_key(key)
  File "/Library/Python/2.7/site-packages/jwt/algorithms.py", line 351, in prepare_key
    key = load_pem_private_key(key, password=None, backend=default_backend())
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/primitives/serialization.py", line 20, in load_pem_private_key
    return backend.load_pem_private_key(data, password)
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1015, in load_pem_private_key
    password,
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1234, in _load_key
    self._handle_key_loading_error()
  File "/Library/Python/2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1292, in _handle_key_loading_error
    raise ValueError("Could not deserialize key data.")
ValueError: Could not deserialize key data.

Может кто-нибудь указать мне правильное направление, если я делаю что-то не так здесь?

Я попытался выполнить поиск в Google, и он намекает, что могут быть проблемы с установленной версией jwt, но я установил последнюю версию.


person Vipul    schedule 20.12.2017    source источник


Ответы (1)


Я получил ту же ошибку, когда скопировал закрытый ключ в music_token.py. Но это сработало, когда я сделал это вместо секретного = "".

APNS_AUTH_KEY = './APNsAuthKey_SP7C6832EZ.p8'
f = open(APNS_AUTH_KEY)
secret = f.read()
person Fazal    schedule 20.12.2017