может любой помогать мне с некоторыми проблемами сертификата..? Я использую Среду и пытаюсь использовать Python API, но я получаю несоответствие CA, но я загрузил .pem и указал на сценарий на местоположение .pem.. Я получаю 403 и ошибку: сообщение: {"сообщение": "Подпись запроса, которую мы вычислили, не соответствует подписи, которую Вы обеспечили. Проверьте свой ключ и подписание метода". "ошибка": "SignatureDoesNotMatch"}
Пытаясь сделать некоторое тестирование на LAN без CA, скрипт запускается на сервере, что на Среде работают. Вот содержание моего сценария Python, очевидно, с измененной критической информацией.
#!/usr/bin/python
import os, json, sys
from landscape_api.base import API, HTTPError
# change these accordingly
uri = "https://placeholder.bla"
key = "VQ6PP8Vxxxxxx971NHRY"
secret = "RZ+IOK0s8+UQkRWfsxxxxxxxxLhSFKDwIf5Df"
ca = "~/api/key.pem"
api = API(uri, key, secret, ca)
try:
computers = api.get_computers(query="alert:security-upgrades")
except HTTPError, e:
print ("\nGot server error:\n"
"Code: %d\n"
"Message: %s\n") % (e.code, e.message)
sys.exit(1)
if len(computers) == 0:
print "No computers have pending security upgrades."
else:
for computer in computers:
print "Id:", computer["id"]
print "Title:", computer["title"]
print "Hostname:", computer["hostname"]
print "Last ping:", computer["last_ping_time"]
print "Memory:", computer["total_memory"]
if computer["reboot_required_flag"]:
print "Needs to reboot!"
print
Удостоверьтесь, что Ваш URI конечной точки API точно как показано в Альбомном сервере. Обычно это закончится /api/
(запаздывание включенной наклонной черты). И, конечно, что ключи доступа корректны.
Вы на самом деле используете ~/api/key.pem
? Вы, возможно, должны были бы добавить os.path.expanduser
вокруг этого, или иначе обеспечить полный путь.