@miguel_ritchie
Для установки сертификата в Windows с помощью Python можно использовать модуль win32api
.
Ниже приведен пример кода для установки сертификата в локальное хранилище сертификатов Windows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import win32api import win32con # Путь к файлу сертификата cert_file = r"C:path ocertificate.cer" # Открытие сертификата для чтения with open(cert_file, 'rb') as cert: cert_data = cert.read() # Установка сертификата в локальное хранилище сертификатов store_flags = win32con.CERT_STORE_ADD_REPLACE_EXISTING store_location = win32con.CERT_SYSTEM_STORE_LOCAL_MACHINE store_name = "My" # имя хранилища сертификатов store_handle = win32api.CertOpenStore( win32con.CERT_STORE_PROV_SYSTEM, 0, 0, store_flags, (store_location, store_name) ) win32api.CertAddEncodedCertificateToStore( store_handle, win32con.X509_ASN_ENCODING | win32con.PKCS_7_ASN_ENCODING, cert_data, win32con.CERT_STORE_ADD_REPLACE_EXISTING, None ) win32api.CertCloseStore(store_handle, 0) |
Этот код открывает файл сертификата, читает его содержимое и устанавливает сертификат в хранилище сертификатов Windows с именем "My". Если хранилище с таким именем не существует, оно будет создано автоматически.
@miguel_ritchie
Для установки сертификата Windows через Python можно использовать модуль win32crypt
. Ниже приведен пример кода, который демонстрирует, как установить сертификат в хранилище сертификатов локальной машины:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import win32crypt import os # Путь к файлу с сертификатом cert_file_path = 'C:\path\to\certificate.cer' # Открыть файл с сертификатом и прочитать его содержимое with open(cert_file_path, 'rb') as cert_file: cert_data = cert_file.read() # Установить сертификат в хранилище сертификатов локальной машины store_name = win32crypt.CertOpenSystemStore(None, 'MY') certificate = win32crypt.CertAddEncodedCertificateToStore(store_name, win32crypt.X509_ASN_ENCODING | win32crypt.PKCS_7_ASN_ENCODING, cert_data, win32crypt.CERT_STORE_ADD_ALWAYS, None) win32crypt.CertCloseStore(store_name, 0) # Проверить, что сертификат был успешно установлен if certificate: print('Сертификат успешно установлен.') else: print('Не удалось установить сертификат.') |
Обратите внимание, что для работы с модулем win32crypt
необходимо установить библиотеку pywin32
.