MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / SavePanelSSL

Method SavePanelSSL

class/config.py:1962–2000  ·  view source on GitHub ↗
(self, get)

Source from the content-addressed store, hash-verified

1960
1961 # 保存面板证书
1962 def SavePanelSSL(self, get):
1963 keyPath = 'ssl/privateKey.pem'
1964 certPath = 'ssl/certificate.pem'
1965 checkCert = '/tmp/cert.pl'
1966 ssl_pl = 'data/ssl.pl'
1967 if not 'certPem' in get: return public.returnMsg(False, '缺少certPem参数!')
1968 if not 'privateKey' in get: return public.returnMsg(False, '缺少privateKey参数!')
1969
1970 import ssl_info
1971 # 验证证书和密钥是否匹配格式是否为pem
1972 ssl_info = ssl_info.ssl_info()
1973 check_flag, check_msg = ssl_info.verify_certificate_and_key_match(get.privateKey, get.certPem)
1974 if not check_flag: return public.returnMsg(False, check_msg)
1975 # 验证证书链是否完整
1976 check_chain_flag, check_chain_msg = ssl_info.verify_certificate_chain(get.certPem)
1977 if not check_chain_flag: return public.returnMsg(False, check_chain_msg)
1978
1979 public.writeFile(checkCert, get.certPem)
1980 if not public.CheckCert(checkCert):
1981 os.remove(checkCert)
1982 return public.returnMsg(False, '证书错误,请检查!')
1983 if get.privateKey:
1984 public.writeFile(keyPath, get.privateKey)
1985 if get.certPem:
1986 public.writeFile(certPath, get.certPem)
1987 if 'save_to_proxy' in get and get.save_to_proxy == '1':
1988 from panelModel.panel_reverse_generationModel import main as panelNginxPrxoyMain
1989 proxy_site = panelNginxPrxoyMain().proxy_site()
1990 domain = proxy_site.get('name') if proxy_site else ''
1991 if domain:
1992 res = panelNginxPrxoyMain().set_panel_generation(public.to_dict_obj({
1993 'domain': domain,
1994 'key': get.privateKey,
1995 'cert': get.certPem,
1996 }))
1997 public.print_log(res)
1998 public.writeFile('ssl/input.pl', 'True')
1999 if os.path.exists(ssl_pl): public.writeFile('data/reload.pl', 'True')
2000 return public.returnMsg(True, '证书已保存!')
2001
2002 # 获取ftp端口
2003 def get_ftp_port(self):

Callers 1

SetPanelSSLMethod · 0.95

Calls 10

returnMsgMethod · 0.80
writeFileMethod · 0.80
proxy_siteMethod · 0.80
set_panel_generationMethod · 0.80
removeMethod · 0.45
getMethod · 0.45
print_logMethod · 0.45
existsMethod · 0.45

Tested by

no test coverage detected