Pular para o conteúdo principal

Projeto de exemplos em PHP 5.5+

O Projeto de exemplos em PHP 5.5+ mostra como usar o Rest PKI junto com o Web PKI em um projeto usando o PHP 5.5+ (incluindo 7.x). Isto é hospedado no GitHub em:

https://github.com/LacunaSoftware/PkiSuiteSamples/tree/master/php/plain

observação

Para projetos destinados a versões anteriores do PHP, clique aqui.

Executando o projeto​

  1. Download do projeto ou clonar o repositório
  2. No prompt de comando, navegue até a pasta php/plain e execute composer install para baixar as dependências (se você não tiver Composer instalado, pegue aqui)
  3. Ainda na pasta php/plain, execute composer start para iniciar o servidor embutido do PHP
  4. Abra http://localhost:8000 no navegador

Mapa do projeto​

Esta seção lista tem onde encontrar as partes relevantes em cada amostra de recurso no projeto.

Autentificação com certificado digital​

Assinatura PAdES com arquivo já no servidor​

Assinatura PAdES com arquivo enviado pelo usuário​

Após o upload do arquivo (que é grosseiramente implementado apenas para fins de demonstração em [upload.php] (https://github.com/LacunaSoftware/PkiSuiteSamples/blob/master/php/plain/public/upload.php)) é feito o fluxo de controle é o mesmo que na amostra Assinatura PAdES com arquivo já no servidor, mas com parâmetro de URL userfile preenchidos.

Assinatura conjunta PAdES​

Após o fluxo de controle da amostra Assinatura PAdES com arquivo já no servidor está concluído e o link Co-sign with another certificate é clicado, o mesmo fluxo de controle é repetido, mas agora com parâmetro de URL userfile preenchidos.

Marcas PAdES​

Esse recurso é demonstrado como uma configuração opcional no Assinatura PAdES com arquivo já no servidor, amostra que por padrão começa comentada. Para ativá-lo, remova o comentário da linha a seguir pades-signature-rest/index.php:

array_push($signatureStarter->pdfMarks, getPdfMark(1));
dica

Tente mudar o argumento para a função getPdfMark()para ver diferentes configurações de marcas PDF.

O código relevante está no arquivo PadesVisualElementsRest.php, função getPdfMark().

Assinatura PAdES usando chave do servidor​

Assinatura PAdES sem a comunicação com cliente​

Ainda não está disponível neste projeto.

Abrir/validar uma assinatura PAdES existente​

Versão para impressão​

Após o fluxo de controle da amostra Assinatura PAdES com arquivo já no servidor está concluído e o link Download a printer-friendly version of the signed file é clicado, o fluxo vai para o arquivo printer-friendly-pades-rest/index.php, mas com parâmetro de URL file preenchidos.

O PDF gerado contém links para o arquivo check.php, que mostra detalhes das assinaturas.

Assinatura CAdES com arquivo já no servidor​

Assinatura CAdES com upload do arquivo pelo usuário​

Depois que o upload do arquivo (que é grosseiramente implementado apenas para fins de demonstração no upload.php) é feito o fluxo de controle é o mesmo que na amostra CAdES signature with file already on server, mas com parâmetro de URL userfile preenchidos.

Assinatura conjunta CAdES​

Após o fluxo de controle da amostra CAdES signature with file already on server está concluído e o link Co-sign with another certificate é clicado, o mesmo fluxo de controle é repetido, mas agora com parâmetro de URL cmsfile preenchidos.

Assinatura CAdES usando chave do servidor​

Abrir/validar uma assinatura CAdES existente​

Assinatura XML do documento inteiro​

Assinatura XML de um elemento​

Assinatura XAdES de um elemento​

Não está disponível neste projeto.

Abrir/validar assinatura de um arquivo XML existente​

Lote de assinatura PAdES​

Lote otimizado de assinaturas PAdES​

Não está disponível neste projeto.

Lote de assinaturas CAdES​

Não está disponível neste projeto.

Lote de assinaturas XML de elementos no mesmo documento​