Estou tentando efetuar assinatura digital através de um metodo, porem ocorre um erro (FileNotFoundException (Acesso negado)) ao tentar assinar o XML com o certificado digital, já coloquei as barras invertidas, porém não houve sucesso, sendo assim, alguem poderia ajudar ?
Obs. Alterei até o diretório onde esta gravado o arquivo, porem ocorre o mesmo erro.
Segue abaixo o codigo:
[code]//File file = new File(“src\securityResources”);
String path = “build\web\certificados\”; // ja foi inserido com a barra ao contrario e com o caminho completo tipo //C:\Documents and Settings\Elton Cunha\Meus documentos\NetBeansProjects\NfEletronica\build\web\certificados
KeyStore ks = KeyStore.getInstance("PKCS12");
FileInputStream fis = new FileInputStream(path);
ks.load(fis, senha.toCharArray());
Enumeration aliasesEnum = ks.aliases();
String alias = "";
while (aliasesEnum.hasMoreElements()) {
alias = (String) aliasesEnum.nextElement();
if (ks.isKeyEntry(alias)) {
break;
}
}[/code]
segue o erro:
java.io.FileNotFoundException: build\web\certificados (Acesso negado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileInputStream.(FileInputStream.java:66)
então esse é o diretorio que esta dentro do projeto, porem tentei colocar o nome do arqui das seguintes formas…
“C:\Documents and Settings\Elton Cunha\Meus documentos\NetBeansProjects\NfEletronica\build\web\certificados”
“C:\Documents and Settings\Elton Cunha\Meus documentos\NetBeansProjects\NfEletronica\build\web\certificados\”
“C:/Documents and Settings/Elton Cunha/Meus documentos/NetBeansProjects/NfEletronica/build/web/certificados/”
“C://Documents and Settings//Elton Cunha//Meus documentos//NetBeansProjects//NfEletronica//build//web//certificados//”
ai por final acrescentei “build\web\certificados\”; sem sucesso
ja cheguei a inserir getAbsoluteFile(); porem ele nem acha o arquivo
com o nome do arquivo no path aparece o seguinte erro…
java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded
at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1277)
na verdade estou tentando assinar um XML, para passar para o site da Prefeitura, para cancelamento de N.F e, ja tenho um Certificado Digital, porem estou com este problema, bom pelo meno um ja foi solucionado…rsrs agradeço desde ja a sua ajuda… agora vou ver se consigo resolver mais este…