Skip to content

Certificado digital em memória#40

Open
jalesc wants to merge 1 commit intonfse-nacional:mainfrom
jalesc:main
Open

Certificado digital em memória#40
jalesc wants to merge 1 commit intonfse-nacional:mainfrom
jalesc:main

Conversation

@jalesc
Copy link
Copy Markdown

@jalesc jalesc commented Apr 23, 2026

Antes, para emitir uma NFS-e era obrigatório ter o arquivo .pfx salvo em disco e passar o caminho até ele. Isso funcionava bem em muitos cenários, mas criava dificuldade para quem armazena o certificado em banco de dados ou qualquer outra fonte que não seja o sistema de arquivos do servidor.

Com essa mudança, o NfseContext passa a aceitar também o conteúdo do arquivo diretamente, via certificateContent. Quem já usa certificatePath não precisa mudar nada — tudo continua funcionando exatamente como antes.

Como usar:

Antes (continua funcionando)

$context = new NfseContext(
    ambiente: TipoAmbiente::Producao,
    certificatePath: '/caminho/para/cert.pfx',
    certificatePassword: 'senha',
);

Novo: passando o conteúdo diretamente

$context = new NfseContext(
    ambiente: TipoAmbiente::Producao,
    certificatePath: null,
    certificatePassword: 'senha',
    certificateContent: $pfxContent, // bytes vindos de onde quiser
);

@a21ns1g4ts a21ns1g4ts self-requested a review April 23, 2026 19:10
@a21ns1g4ts a21ns1g4ts self-assigned this Apr 23, 2026
@a21ns1g4ts a21ns1g4ts added the enhancement New feature or request label Apr 23, 2026
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 65.90909% with 15 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/Http/Client/AdnClient.php 60.00% 4 Missing ⚠️
src/Http/Client/CncClient.php 60.00% 4 Missing ⚠️
src/Http/Client/SefinClient.php 60.00% 4 Missing ⚠️
src/Service/ContribuinteService.php 66.66% 2 Missing ⚠️
src/Http/NfseContext.php 50.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants