Как сохранить подпись 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, <здесь нужна кодировка, а какая я не могу понять>) или всё таки, что то ещё нужно?