|
|
@ -14,6 +14,9 @@ goedge_addr = 'http://127.0.0.2:8009' |
|
|
|
access_keyid = "xxx" |
|
|
|
access_keyid = "xxx" |
|
|
|
access_key = "xxx" |
|
|
|
access_key = "xxx" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 指定用户 |
|
|
|
|
|
|
|
userId = 1 |
|
|
|
|
|
|
|
|
|
|
|
sys.path.append(os.getcwd() + "/class/core") |
|
|
|
sys.path.append(os.getcwd() + "/class/core") |
|
|
|
import mw |
|
|
|
import mw |
|
|
|
|
|
|
|
|
|
|
@ -43,16 +46,39 @@ def commonReq(url, data): |
|
|
|
headers = { |
|
|
|
headers = { |
|
|
|
'X-Edge-Access-Token': token |
|
|
|
'X-Edge-Access-Token': token |
|
|
|
} |
|
|
|
} |
|
|
|
api_url = goedge_addr+'/'+url |
|
|
|
api_url = goedge_addr+url |
|
|
|
|
|
|
|
resp_data = requests.post(api_url,json=data, headers=headers) |
|
|
|
json_data = mw.getJson(data) |
|
|
|
|
|
|
|
print(json_data) |
|
|
|
|
|
|
|
resp_data = requests.post(api_url,json=json_data, headers=headers) |
|
|
|
|
|
|
|
return resp_data.json() |
|
|
|
return resp_data.json() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def listSSLCerts(domain): |
|
|
|
|
|
|
|
request_data = { |
|
|
|
|
|
|
|
"userId":userId, |
|
|
|
|
|
|
|
"isCA":False, |
|
|
|
|
|
|
|
"keyword": "ACME泛域名自动上传", |
|
|
|
|
|
|
|
"domains":[domain,"*."+domain], |
|
|
|
|
|
|
|
"size":1 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
# print(request_data) |
|
|
|
|
|
|
|
response_data = commonReq('/SSLCertService/listSSLCerts', request_data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data = response_data['data']['sslCertsJSON'] |
|
|
|
|
|
|
|
data = mw.base64StrDecode(data) |
|
|
|
|
|
|
|
data = mw.getObjectByJson(data) |
|
|
|
|
|
|
|
# print(data) |
|
|
|
|
|
|
|
return data |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# createSSLCert(domain) |
|
|
|
|
|
|
|
def createSSLCert(domain, did=0): |
|
|
|
|
|
|
|
|
|
|
|
def createSSLCert(domain): |
|
|
|
|
|
|
|
ssl_cer_file = ssl_path + '/'+domain+'.cer' |
|
|
|
ssl_cer_file = ssl_path + '/'+domain+'.cer' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not os.path.exists(ssl_cer_file): |
|
|
|
|
|
|
|
print("没有有效证书!") |
|
|
|
|
|
|
|
return '' |
|
|
|
|
|
|
|
# print(ssl_cer_file) |
|
|
|
|
|
|
|
ssl_info = mw.getCertName(ssl_cer_file) |
|
|
|
cer_data = mw.readFile(ssl_cer_file) |
|
|
|
cer_data = mw.readFile(ssl_cer_file) |
|
|
|
cer_data = mw.base64StrEncode(cer_data) |
|
|
|
cer_data = mw.base64StrEncode(cer_data) |
|
|
|
# print('cer',cer_data) |
|
|
|
# print('cer',cer_data) |
|
|
@ -60,28 +86,49 @@ def createSSLCert(domain): |
|
|
|
ssl_key_file = ssl_path + '/'+domain+'.key' |
|
|
|
ssl_key_file = ssl_path + '/'+domain+'.key' |
|
|
|
key_data = mw.readFile(ssl_key_file) |
|
|
|
key_data = mw.readFile(ssl_key_file) |
|
|
|
key_data = mw.base64StrEncode(key_data) |
|
|
|
key_data = mw.base64StrEncode(key_data) |
|
|
|
# print('key',key_data) |
|
|
|
# print('ssl_info',ssl_info) |
|
|
|
|
|
|
|
|
|
|
|
return '' |
|
|
|
timeBeginAt = int(time.mktime(time.strptime(ssl_info['notBefore'], "%Y-%m-%d"))) |
|
|
|
|
|
|
|
timeEndAt = int(time.mktime(time.strptime(ssl_info['notAfter'], "%Y-%m-%d"))) |
|
|
|
|
|
|
|
|
|
|
|
request_data = { |
|
|
|
request_data = { |
|
|
|
"isOn":False, |
|
|
|
"isOn":True, |
|
|
|
# "userId":"0", |
|
|
|
"userId":userId, |
|
|
|
"name":"test", |
|
|
|
"name": "ACME泛域名自动上传", |
|
|
|
"isCA":True, |
|
|
|
"isCA":False, |
|
|
|
"description":domain, |
|
|
|
"description":domain, |
|
|
|
"serverName":domain, |
|
|
|
"serverName":domain, |
|
|
|
"certData":cer_data, |
|
|
|
"certData":cer_data, |
|
|
|
'keyData':key_data, |
|
|
|
'keyData':key_data, |
|
|
|
'dnsNames':[domain,"*."+domain], |
|
|
|
"timeBeginAt":timeBeginAt, |
|
|
|
'commonNames':[domain,"*."+domain] |
|
|
|
"timeEndAt": timeEndAt, |
|
|
|
|
|
|
|
'dnsNames':[domain,"*."+domain], |
|
|
|
|
|
|
|
'commonNames':[ssl_info['issuer']] |
|
|
|
} |
|
|
|
} |
|
|
|
print(request_data) |
|
|
|
|
|
|
|
response_data = commonReq('/SSLCertService/createSSLCert', request_data) |
|
|
|
|
|
|
|
# print(response_data) |
|
|
|
if did>0: |
|
|
|
|
|
|
|
request_data['sslCertId'] = did |
|
|
|
|
|
|
|
# print(request_data) |
|
|
|
|
|
|
|
response_data = commonReq('/SSLCertService/updateSSLCert', request_data) |
|
|
|
|
|
|
|
print('更新成功',response_data) |
|
|
|
|
|
|
|
return response_data |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
# print(request_data) |
|
|
|
|
|
|
|
response_data = commonReq('/SSLCertService/createSSLCert', request_data) |
|
|
|
|
|
|
|
print('创建成功',response_data) |
|
|
|
|
|
|
|
return response_data |
|
|
|
return response_data |
|
|
|
return response_data |
|
|
|
|
|
|
|
|
|
|
|
createSSLCert(domain) |
|
|
|
def autoSyncDomain(domain): |
|
|
|
|
|
|
|
data = listSSLCerts(domain) |
|
|
|
|
|
|
|
if len(data) > 0 : |
|
|
|
|
|
|
|
did = data[0]['id'] |
|
|
|
|
|
|
|
createSSLCert(domain,did) |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
createSSLCert(domain) |
|
|
|
|
|
|
|
print(data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
autoSyncDomain(domain) |
|
|
|
print(domain,ssl_path) |
|
|
|
print(domain,ssl_path) |