nfephp-org / sped-common

Classes comuns usadas nas atividades e classes das API's de NFe, CTe e MDFe
Other
97 stars 121 forks source link

OpenSSL 3 #279

Closed RicLzPt closed 2 years ago

RicLzPt commented 2 years ago

Prezados, estou no ubuntu 22.04 que está com o novo OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) (até então era o 1.1.1). Meu PHP: PHP 8.1.5 (cli) (built: Apr 21 2022 10:32:13) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies with Xdebug v3.1.4, Copyright (c) 2002-2022, by Derick Rethans

Ao tentar assinar uma nfe tenho o erro PHP Fatal error: Uncaught NFePHP\Common\Exception\CertificateException: Impossivel ler o certificado, ocorreu o seguinte erro: (error:0308010C:digital envelope routines::unsupported)

Este erro não ocorre na versão 1.1.1 do OpenSSL. Alguém mais passando por isso?

robmachado commented 2 years ago

Os algorítimos do OPENSSL versão 3 são mais atualizados que os usados na assinatura da NFe Para permitir o uso do "provider legacy" do OpenSSSL Deve algo como: [legacy_sect] activate = 1 Dentro do openssl.conf

robmachado commented 2 years ago

Isso é causado por certificados usando rotinas de encriptação mais fracas não mais suportadas pelo OpenSSL v3

RicLzPt commented 2 years ago

Muito obrigado, @robmachado

Pesquisando no site do projeto openSSL vi que para ativar o legado da versão 1.1.1 devemos:

/etc/ssl/openssl.cnf

[provider_sect] default = default_sect legacy = legacy_sect

[default_sect] activate = 1

[legacy_sect] activate = 1

robmachado commented 2 years ago

Fico feliz em saber que resolveu o problema

sicoksoftware commented 1 year ago

Estava enfrentado esse problema com certificados de algumas certificadores, mais segui os passos deu certo valeu. abraço

fernandorl commented 1 year ago

Alguém conseguiu fazer no XAMPP com Windows?

robmachado commented 1 year ago

Este issuer está fechado!! pergunte no grupo do google