Exemplo de uso do plugin para jQuery para usar o Assinador Digital - Discus Tecnologia
Nesta página você encontra exemplos de uso do plugin e o próprio código fonte desta página também serve como documentação, então não deixe de conferir. A documentação do plugin você pode conferir neste link.
Execute o Assinador Digital - Discus Tecnologia para que você possa testar os exemplos desta página.
O assinador sempre verifica se o domínio foi autorizado a realizar assinaturas. Para poder efetuar testes crie um virtual host em seu servidor local com o nome de "teste.local" e mapeie a pasta "example" como document root.
Para mais informações sobre o Assinador Digital - Discus Tecnologia acesse: http://www.discustecnologia.com.br/assinador. Lá você também encontrará a documentação do assinador.
Entre em contato conosco e adquira sua licença do Assinador Digital - Discus Tecnologia
http://www.discustecnologia.com.br/contato
É possível testar se o assinador está ativo de duas maneiras: de forma síncrona ou assíncrona. Porém não recomendamos o uso da forma síncrona, que em breve funcionará apenas sob workers. Para maiores informações sobre o uso de Ajax acesse sua especificação em https://xhr.spec.whatwg.org/.
//assíncrono - use este
$.signerIsActive(function(active){
console.log(active);
});
//síncrono - deprecated
console.log($.signerIsActiveSync());
Você pode enviar texto simples ou objetos JSON convertidos para texto, assim é possível gerar assinaturas digitais de dados que serão armazenados em bancos de dados tanto relacionais quanto não relacionais.
O retorno do assinador será um arquivo no formato .p7s, que é um arquivo de assinatura digital do tipo PKCS7 conforme a RFC2315. Mais detalhes neste link: https://tools.ietf.org/html/rfc2315.
Neste exemplo está sendo usado a biblioteca FileSaver.js. Mais detalhes em https://github.com/eligrey/FileSaver.js/.
Texto a assinar:
$.signData(JSON.stringify({"teste":123}), 'f348gf73gf3gfy73gg43g.f43f34gf34g43g34g45g34.g45g542g524g35342gt24g42', {
success: function(blob){
saveAs(blob, "textSignature.p7s");
},
error: function(statusCode, msg){
console.log(statusCode == 0 ? msg: JSON.parse(msg));
}
});
Você enviará arquivos PDF para o Assinador Digital - Discus Tecnologia assinar.
O retorno do assinador será outro arquivo PDF contendo a assinatura embutida no próprio arquivo.
É possível selecionar vários arquivos para enviar ao assinador, mas se o retorno for feito diretamente ao usuário ao invés de enviar o arquivo para o servidor, não recomendamos o uso desta forma, para que a usabilidade de seu sistema n~ao seja prejudicada, já pode ser chato para o usuário receber várias solicitações seguidas para salvar arquivos.
$('#file').signPDF('f348gf73gf3gfy73gg43g.f43f34gf34g43g34g45g34.g45g542g524g35342gt24g42', {
success: function(blob){
saveAs(blob, "signed.pdf");
},
error: function(statusCode, msg){
console.log(statusCode == 0 ? msg: JSON.parse(msg));
}
});
Você enviará arquivos .p7s para o Assinador Digital - Discus Tecnologia validar.
O retorno do assinador poderá ser no formato JSON contendo os dados referentes a(s) assinatura(s) contidas no(s) arquivo(s) enviado(s), ou você pode pedir ao assinador que seja exibida a aplicação de validação do próprio assinador.
$('#file').verifyData('f348gf73gf3gfy73gg43g.f43f34gf34g43g34g45g34.g45g542g524g35342gt24g42', {
success: function(blob){
console.log(blob);
},
error: function(statusCode, msg){
console.log(statusCode == 0 ? msg: JSON.parse(msg));
}
}, true); //o último argumento diz se será exibido a aplicação de validação do assinador, senão será retornado JSON
Você enviará arquivos PDF para o Assinador Digital - Discus Tecnologia validar.
O retorno do assinador poderá ser no formato JSON contendo os dados referentes a(s) assinatura(s) contidas no(s) arquivo(s) enviado(s), ou você pode pedir ao assinador que seja exibida a aplicação de validação do próprio assinador.
$('#file').verifyPDF('f348gf73gf3gfy73gg43g.f43f34gf34g43g34g45g34.g45g542g524g35342gt24g42', {
success: function(blob){
console.log(blob);
},
error: function(statusCode, msg){
console.log(statusCode == 0 ? msg: JSON.parse(msg));
}
}, true); //o último argumento diz se será exibido a aplicação de validação do assinador, senão será retornado JSON