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/RestPkiSamples/tree/master/PHP/standard
Note
Para projetos destinados a versões anteriores do PHP, clique aqui.
Executando o projeto
- Download do projeto ou clonar o repositório
- Gere um token de acesso à API no REST PKI website
- Cole seu token de acesso no arquivo PHP/standard/config.php
- No prompt de comando, navegue até a pasta
PHP/standard
e execute o comandocomposer install
e faça o download das dependências (se você não tiver Composer instalado, pegue aqui) - Configurar um site no seu servidor HTTP local apontando para à pasta
PHP/standard
- Abrir o arquivo index.php no browser a URL correspondente (dependendo do passo anterior)
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) é 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.php:
array_push($signatureStarter->pdfMarks, getPdfMark(1));
Tip
Tente mudar o argumento para a função getPdfMark()
para ver diferentes configurações de marcas PDF.
O código relevante está no arquivo util-pades.php,
função getPdfMark()
.
Assinatura PAdES usando chave do servidor
pades-signature-server-key.php
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-version.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
- batch-signature.php
- JavaScript: batch-signature-form.js
- AJAX handlers: batch-signature-start.php and batch-signature-complete.php
Lote otimizado de assinaturas PAdES
Não está disponível neste projeto.
Lote de assinaturas CAdES
Não está disponível neste projeto.