From 889072c3e874280864f90fe416e83b2ca019294d Mon Sep 17 00:00:00 2001 From: rangelbruno Date: Thu, 19 Feb 2026 11:28:10 -0300 Subject: [PATCH] =?UTF-8?q?Fix(Assinatura):=20Tratar=20certificado=20inv?= =?UTF-8?q?=C3=A1lido=20que=20retorna=20signer=20None?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adiciona verificação de signer None antes de acessar signing_cert, evitando erro 'NoneType object has no attribute signing_cert' ao assinar matéria e documento acessório com certificado inválido. Signed-off-by: rangelbruno --- sapl/materia/views_assinatura.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sapl/materia/views_assinatura.py b/sapl/materia/views_assinatura.py index 2ab8fc0ab..0ec1e7acb 100644 --- a/sapl/materia/views_assinatura.py +++ b/sapl/materia/views_assinatura.py @@ -203,6 +203,12 @@ def materia_assinar_a1(request, pk): 'error': f'Erro ao carregar certificado: {error_detail}' }, status=400) + if signer is None: + return JsonResponse({ + 'success': False, + 'error': 'Não foi possível carregar o certificado. Verifique se o arquivo .pfx/.p12 é válido e contém uma chave de assinatura.' + }, status=400) + # Verifica validade do certificado cert_info = signer.signing_cert now = timezone.now() @@ -975,6 +981,12 @@ def docacessorio_assinar_a1(request, pk): 'error': f'Erro ao carregar certificado: {error_detail}' }, status=400) + if signer is None: + return JsonResponse({ + 'success': False, + 'error': 'Não foi possível carregar o certificado. Verifique se o arquivo .pfx/.p12 é válido e contém uma chave de assinatura.' + }, status=400) + cert_info = signer.signing_cert now = timezone.now() valid_before = cert_info.not_valid_before