Как сохранить подпись sig формате в DER кодировке

Есть необходимость подписать файл в DER кодировке и сохранить подпись в sig формате (Python). Я новичок в программировании, поэтому прошу строго не судить

Для этих дел решил использовать CAPICOM

CADESCOM_CADES_BES = 1 #Тип подписи CAdES-BES

CAPICOM_ENCODE_BINARY = 1 #Кодировка DER

def signWithAdvancedEDS(fileBytes, cert):
    #в функцию передаю файл, который пытаюсь подписать и сертификат
    
    signature = ""
    try:
        #сертификат
        signer = win32com.client.Dispatch('CAdESCOM.CPSigner')
        signer.Certificate = cert

        #данные для подписи
        signedData = win32com.client.Dispatch("CAdESCOM.CadesSignedData")
        signedData.Content = fileBytes
        #подпись
        signature  = signedData.SignCades(signer, CADESCOM_CADES_BES, True, CAPICOM_ENCODE_BINARY)
        signedData.VerifyCades(signature, CADESCOM_CADES_BES, True)
    except:
        print("Что то пошло не так")

    return signature

#запись открепленной подписи

def writeSign(path_to_sign, signatureBytes):

    with open(path_to_sign,"wb") as f:
        byt = f.write(signatureBytes)

Пытаюсь записать в файл sig И здесь появляется ошибка a bytes-like object is required, not 'str'. Вроде как понимаю, что ругается на то, что тип данных должен быть bytes, но если переводить signature с помощью bytes(signature, <здесь нужна кодировка, а какая я не могу понять>) или всё таки, что то ещё нужно?


Ответы (0 шт):