Enable_or_Disable = "enable" # give "enable" or "disable"

import _winreg
import os
import ctypes

class disable_file_system_redirection:
    _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
    _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
    def __enter__(self):
        self.old_value = ctypes.c_long()
        self.success = self._disable(ctypes.byref(self.old_value))
    def __exit__(self, type, value, traceback):
        if self.success:
            self._revert(self.old_value)

with disable_file_system_redirection():
    arch=os.popen("wmic os get OSArchitecture").read()

if '64' in arch:
    subkey = [r"Software\Microsoft\Cryptography\Wintrust\Config", r"Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config"]
else:
    subkey = [r"Software\Microsoft\Cryptography\Wintrust\Config"]

ValueName = "EnableCertPaddingCheck"
Value_type = _winreg.REG_SZ

if Enable_or_Disable.lower() == "enable":
    for key in subkey:
        try:
            creatingkey = _winreg.CreateKeyEx(_winreg.HKEY_LOCAL_MACHINE, key, 0, _winreg.KEY_ALL_ACCESS | _winreg.KEY_WOW64_64KEY)
            _winreg.SetValueEx(creatingkey, ValueName, 0, Value_type, "1")
        except Exception as err:
            print(err)
        else:
            print("successfully enabled")
elif Enable_or_Disable.lower() == "disable":
    for key in subkey:
        try:
            with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, key, 0, _winreg.KEY_ALL_ACCESS | _winreg.KEY_WOW64_64KEY) as k:
                _winreg.DeleteValue(k, ValueName)
            print("successfully disabled")
        except Exception as err:
            print(err)
else:
    print('Please check the spelling in the variable "Enable_or_Disable"')