Pesquisar na Comunidade
Showing results for tags 'ACBrEADInterop'.
Encontrado 1 registro
-
Bom dia a todos, É fato que ainda para o pacote Java, não esta completo com todas as funções necessárias, exemplo o ACBrEAD e o ACBrAAC. Tomei liberdade para encapsular a classe ACBrEADInterop.java, e criei a ACBrEAD, para encapsular alguns métodos, o método "assinarArquivoComEAD(...)", funcionou! Os métodos que ainda não implementei, não pude entender a funcionalidade, se alguém puder me explicar, eu me a habilito a terminar de implementar os outros métodos. Por favor, sintam-se livres para comentar e me corrigir: package jACBrFramework.serial.ecf; import com.sun.jna.ptr.IntByReference; import jACBrFramework.ACBrClass; import jACBrFramework.ACBrException; import jACBrFramework.interop.ACBrEADInterop; import java.nio.ByteBuffer; public class ACBrEAD extends ACBrClass { public ACBrEAD() throws ACBrException {} @Override protected void onInitialize() throws ACBrException { IntByReference handle = new IntByReference(); int ret = ACBrEADInterop.INSTANCE.EAD_Create(handle); checkResult(ret); setHandle(handle.getValue()); } @Override protected void onFinalize() throws ACBrException{ int ret = ACBrEADInterop.INSTANCE.EAD_Destroy(getHandle()); checkResult(ret); setHandle(0); } @Override protected void checkResult(int result) throws ACBrException { switch (result) { case -1: String message; int LEN = 1024; ByteBuffer buffer = ByteBuffer.allocate(LEN); int ret = ACBrEADInterop.INSTANCE.EAD_GetUltimoErro(getHandle(), buffer, LEN); message = fromUTF8(buffer, ret); throw new ACBrException(message); case -2: throw new ACBrException("ACBr EAD não inicializado."); } } // Funções /** * @return String * @param arquivo local para gravar o arquivo * @param remove boolean * @throws ACBrException */ public String assinarArquivoComEAD(String nomeArquivo, boolean remove) throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_AssinarArquivoComEAD(getHandle(), toUTF8(nomeArquivo), remove, returnBuffer, STR_BUFFER_LEN); checkResult(ret); return fromUTF8(returnBuffer, ret); } public void calcularChavePublica() throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_CalcularChavePublica(getHandle(), returnBuffer, STR_BUFFER_LEN); checkResult(ret); } public void calcularEADArquivo(String nomeArquivo) throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_CalcularEADArquivo(getHandle(), toUTF8(nomeArquivo), returnBuffer, STR_BUFFER_LEN); checkResult(ret); } //int EAD_GerarChaves(int eadHandle, ByteBuffer ChavePUB, ByteBuffer ChavePRI, int bufferLen); //int EAD_GerarXMLeECFc(int eadHandle, String NomeSH, String PathArquivo); //int EAD_MD5FromFile(int eadHandle, String Arquivo, ByteBuffer MD5, int bufferLen); //int EAD_MD5FromString(int eadHandle, String AString, ByteBuffer MD5, int bufferLen); public void removeEADArquivo(String nomeArquivo) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_RemoveEADArquivo(getHandle(), toUTF8(nomeArquivo)); checkResult(ret); } public void verificaEAD(String ead) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_VerificarEAD(getHandle(), toUTF8(ead)); checkResult(ret); } public void verificaEADArquivo(String nomeArquivo) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_VerificarEADArquivo(getHandle(), toUTF8(nomeArquivo)); checkResult(ret); } } Obrigado;
- 3 replies
-
- ACBrEAD
- ACBrEADInterop
-
(e 1 mais)
Tags: