Update export_cert.py
added setting permission
This commit is contained in:
@@ -3,6 +3,7 @@ import yaml
|
||||
import os
|
||||
import sys
|
||||
from requests.auth import HTTPBasicAuth
|
||||
import platform
|
||||
|
||||
def load_config(config_path):
|
||||
with open(config_path, 'r') as f:
|
||||
@@ -23,12 +24,27 @@ def export_certificate(config, uuid):
|
||||
response.raise_for_status()
|
||||
return response.json().get("payload")
|
||||
|
||||
def save_certificate(cert_data, filename, output_dir):
|
||||
def save_certificate(config, cert_data, filename, output_dir):
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
filepath = os.path.join(output_dir, filename)
|
||||
with open(filepath, 'w') as f:
|
||||
f.write(cert_data)
|
||||
print(f"Zertifikat saved.")
|
||||
|
||||
if platform.system().lower() == "linux":
|
||||
try:
|
||||
import pwd
|
||||
import grp
|
||||
|
||||
if 'file_mode' in config:
|
||||
os.chmod(filepath, int(config['file_mode'], 8))
|
||||
|
||||
if 'file_owner' in config or 'file_group' in config:
|
||||
uid = pwd.getpwnam(config.get('file_owner', pwd.getpwuid(os.getuid()).pw_name)).pw_uid
|
||||
gid = grp.getgrnam(config.get('file_group', grp.getgrgid(os.getgid()).gr_name)).gr_gid
|
||||
os.chown(filepath, uid, gid)
|
||||
except Exception as e:
|
||||
print(f"[WARN] Error setting permissions: {e}")
|
||||
print(f"Certificate saved.")
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
@@ -56,7 +72,7 @@ def main():
|
||||
|
||||
### Get Certificate by uuid ###
|
||||
certificate_data = export_certificate(config, certificate_uuid)
|
||||
save_certificate(certificate_data, 'cert.crt', config['output_directory'])
|
||||
save_certificate(config, certificate_data, 'cert.crt', config['output_directory'])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user