Ссылка на XMLSEC с URIPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ссылка на XMLSEC с URI

Сообщение Anonymous »

Я использую библиотеку XMLSEC, чтобы подписать файл, который будет отправлен в правительственное агентство. В этом процессе мне нужно использовать конкретные алгоритмы, перечисленные ниже, и включить идентификационный номер счета в эталонном URI. Однако, когда параметр URI заполняется, документ не подписан, но если я оставлю его пустым, подпись успешно генерируется. Я уже проверил идентификатор, и все кажется правильно. Я ценю любую помощь. < /P>
Пример идентификатора: #nfcom43253123827184000163620017659731731076965182 < /p>
Проблема? ref = xmlsec.template.add_reference (
signature, xmlsec.constants.transformsha1, uri = f "#{id_nfcom}"
) < /p>
def assinar_xml (xml_tree, SERTICADO_PEM):
root = xml_tree.getroot () < /p>
inf_nfcom = root.find(".//{http://www.portalfiscal.inf.br/NFCom}infNFCom")
if inf_nfcom is None:
raise ValueError("Elemento não encontrado no XML.")

id_nfcom = inf_nfcom.get("Id")
if not id_nfcom:
raise ValueError("Atributo 'Id' não encontrado no elemento .")

signature = xmlsec.template.create(
root, xmlsec.Transform.C14N, xmlsec.Transform.RSA_SHA1
)

**ref = xmlsec.template.add_reference(
signature, xmlsec.constants.TransformSha1, uri=f"#{id_nfcom}"
)**

xmlsec.template.add_transform(ref, xmlsec.Transform.ENVELOPED)
xmlsec.template.add_transform(ref, xmlsec.Transform.C14N)

key_info = xmlsec.template.ensure_key_info(signature)
x509_data = xmlsec.template.add_x509_data(key_info)
xmlsec.template.x509_data_add_certificate(x509_data)

root.append(signature)

ctx = xmlsec.SignatureContext()

key = None
try:
key = xmlsec.Key.from_file(certificado_pem, xmlsec.constants.KeyDataFormatPem)
print("Chave carregada com sucesso!")
except Exception as e:
print(f"Erro ao carregar a chave: {e}")

if key is None:
raise ValueError("A chave não foi carregada corretamente.")

ctx.key = key

ctx.sign(signature)

return xml_tree


Подробнее здесь: https://stackoverflow.com/questions/794 ... e-with-uri
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Я сталкиваюсь с ошибкой xmlsec.internalerror: (-1, 'lxml & xmlsec libxml2.
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Ссылка на XMLSEC с URI
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Не удалось подписать XMLSEC с названным эталонным URI
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Не удалось подписать XMLSEC с названным эталонным URI
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как исправить «Предоставлен неверный URI запроса. URI запроса должен быть либо абсолютным URI, либо должен быть установл
    Гость » » в форуме C#
    0 Ответы
    223 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»