Problemas de certificado ao usar a API Python em Landscape.

2

alguém pode me ajudar com alguns problemas de certificado ..? Estou usando o Landscape e tentando usar a API python, mas obtenho uma incompatibilidade de CA, mas eu baixei o .pem e apontei o script para o local do .pem ... recebo um 403 e erro : Mensagem: {"message": "A assinatura do pedido que calculamos não corresponde à assinatura que você forneceu. Verifique seu método de chave e assinatura.", "Error": "SignatureDoesNotMatch"}

Tentando fazer alguns testes em uma LAN sem uma autoridade de certificação, o script está sendo executado no servidor em que o Landscape está sendo executado. Aqui está o conteúdo do meu script python, obviamente com informações críticas alteradas.

    #!/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
    
por Harry Lavender 09.01.2015 / 12:29

2 respostas

4

Verifique se o URI do endpoint da API está exatamente , conforme mostrado no servidor do Google Landscape. Normalmente, terminará com /api/ (barra final incluída). E, claro, que as chaves de acesso estão corretas.

    
por Andreas Hasenack 09.01.2015 / 13:12
0

Você está realmente usando ~/api/key.pem ? Pode ser necessário lançar um os.path.expanduser em torno dele ou fornecer o caminho completo.

    
por Adam Collard 09.01.2015 / 13:10