Из полученного SDK (получил 08.04.2025) пытаюсь запускать пример проверки сертификата.
При попытке проверить с использованием файла *.CLR который скачал (https://pki.gov.kz/developers/) только что, выдает ошибку:
Т.е. все данные и примеры которые я использовал не были устаревшими.
File “d:\Worc\Python\Test ECP\KalkanCryptCOM.py”, line 318, in checkCert_Click
outInfo = KalkanCOMTest.X509ValidateCertificate(inCert, validType, validPath, tmpD)
File “”, line 3, in X509ValidateCertificate
File “D:\Worc\Python\Test ECP.venv\Lib\site-packages\win32com\client\dynamic.py”, line 356, in
_ApplyTypes_result = self.oleobj.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
TypeError: int() argument must be a string, a bytes-like object or a real number, not ‘NoneType’
При попытке сделать проверку через OCSP URL программа (из примеров) просто закрывается.
Ок. Я думал, возможно в примере есть неточность, написал свою функцию, инициализация, чтения ключа все проходит без ошибок, но при попытке проверить с помощью функции
X509ValidateCertificate получаю аналогичную ошибку
пример моей функции:
//validType = constants.KC_USE_OCSP
//validPath = “http://ocsp.pki.gov.kz/”
validType = constants.KC_USE_CRL
validPath = str(os.path.join(os.path.dirname(os.path.abspath(file)),“nca_gost.crl”))
time1 = int(datetime.now().timestamp())
time2 = datetime.now()
time3 = int(time.time())
outInfo2 = kalkan.X509ValidateCertificate(Config.pem, validType, validPath, time)
Когда я пытаюсь выполнять функции подставляя разные validType и validPath получаю так же ошибки
TypeError: must be a pywintypes time object (got NoneType)
TypeError: int() argument must be a string, a bytes-like object or a real number, not ‘NoneType’
Несмотря на то, что в документации написано что
в текущей версии не используется
как мне кажется проблема в этом.
Как Вы видите я пытаюсь передавать разные варианты даты.
Подскажите что я делаю не так? Или возможно были какие-то изменения, которые небыли внесены в примеры и документацию.
Благодарю Вас.