CI . : https://github.com/cesium-ml/dependent_build_server
:
- , GitHub , PR .
- API- Travis-CI , , .
- Travis-CI , webhook, .
- API GitHub, PR.
. , GitHub Travis-CI. GitHub, Travis-CI, .
GitHub:
import hmac
def verify_signature(payload, signature, secret):
expected = 'sha1=' + hmac.new(secret.encode('ascii'),
payload, 'sha1').hexdigest()
return hmac.compare_digest(signature, expected)
-CI:
from OpenSSL import crypto
def verify_signature(payload, signature):
public_key = crypto.load_publickey(crypto.FILETYPE_PEM, pubkey)
certificate = crypto.X509()
certificate.set_pubkey(public_key)
try:
crypto.verify(certificate, signature, payload, 'sha1')
return True
except crypto.Error:
return False