ssl_de/encrypt new works

This commit is contained in:
2025-05-12 15:11:40 +02:00
parent fb0158d1cd
commit 3da54642a0
5 changed files with 40 additions and 37 deletions

View File

@ -1,16 +1,17 @@
#!/usr/bin/python3
""" This Script encrypt Wireguardfiles for Wirepy users for more Security """
from pathlib import Path
import shutil
import subprocess
from subprocess import CompletedProcess
from wp_app_config import AppConfig
log_name = AppConfig.USER_FILE.read_text()
log_name = AppConfig.USER_FILE.read_text().strip()
keyfile: Path = Path(f"/home/{log_name}/.config/wire_py/pbwgk.pem")
target: Path = Path(f"/home/{log_name}/.config/wire_py/")
if not keyfile.is_file():
process: CompletedProcess[str] = subprocess.run(
@ -44,39 +45,37 @@ if not keyfile.is_file():
shutil.chown(keyfile, 1000, 1000)
if AppConfig.TEMP_DIR.exists() and not any(AppConfig.TEMP_DIR.iterdir()):
clear_files = [str(file) for file in path_of_crypted_tunnel.glob()]
# any() get True when directory is not empty
if AppConfig.TEMP_DIR.exists() and any(AppConfig.TEMP_DIR.iterdir()):
clear_files = [str(file) for file in AppConfig.TEMP_DIR.glob("*.conf")]
for config_file in clear_files:
base_name = Path(config_file).stem
process: CompletedProcess[str] = subprocess.run(
[
"openssl",
"pkeyutl",
"-encrypt",
"-inkey",
keyfile,
"-pubin",
"-in",
config_file,
"-out",
f"{AppConfig.CONFIG_DIR}/{base_name}.dat",
],
capture_output=True,
text=True,
check=False,
)
for config_file in clear_files:
base_name = Path(config_file).stem
process: CompletedProcess[str] = subprocess.run(
[
"openssl",
"pkeyutl",
"-encrypt",
"-inkey",
keyfile,
"-pubin",
"-in",
config_file,
"-out",
f"{target}/{base_name}.dat",
],
capture_output=True,
text=True,
check=False,
)
print(f"Processing of the file: {config_file}")
print(f"Processing of the file: {config_file}")
if process.stdout:
print(process.stdout)
# Output from Openssl Error
if process.stderr:
print("(Error):", process.stderr)
# Output from Openssl Error
if process.stderr:
print("(Error):", process.stderr)
if process.returncode == 0:
print(f"File {base_name}.dat successfully encrypted.")
else:
print(f"Error by {config_file}: Code: {process.returncode}")
if process.returncode == 0:
print(f"File {base_name}.dat successfully encrypted.")
else:
print(f"Error by {config_file}: Code: {process.returncode}")