Certificado digital

2 respostas
UpTheIrons

Olá pessoal,

Vi um artigo, no próprio forum, sobre assinatura digital, tentei rodar um pequeno exemplo aqui, mas dá um erro, e n vi no tutorial falando dessa possibilidade.
public static void main(String[] args) throws Exception {
        File f = new File("/opt/assinaturadigital/orion.jks");
        getPrivateKeyFromFile(f, "orion", "orion2");
    }

    public static PrivateKey getPrivateKeyFromFile( File cert, String alias, String password ) throws Exception {
    KeyStore ks = KeyStore.getInstance ( "JKS" );
    char[] pwd = "orion2".toCharArray();
    InputStream is = new FileInputStream( cert );
    ks.load( is, pwd );

    is.close();

    Key key = ks.getKey(alias, pwd);
    if( key instanceof PrivateKey ) {
        System.out.println("passou");
        return (PrivateKey) key;
    }
 
    return null;
}
O erro ocorre aqui:
Key key = ks.getKey(alias, pwd);

Segue abaixo o erro:

Exception in thread "main" java.security.UnrecoverableKeyException: Cannot recover key
at sun.security.provider.KeyProtector.recover(KeyProtector.java:311)
at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121)
at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
at java.security.KeyStore.getKey(KeyStore.java:763)
at assinaturadigital.Main.getPrivateKeyFromFile(Main.java:37)
at assinaturadigital.Main.main(Main.java:28)
Java Result: 1

Adianto q n é prob de senha nem de permissão da pasta/arquivo, uso linux, e estão com permissões totais.

Alguém? :)

Grato,

2 Respostas

H

Olá qual certificado que está usando A1 ou A3 [url]?

UpTheIrons

Deve ter alguma similaridade com o A1, pois gerei com o keytool, na minha máquina.

Por falar em A3, pelo q vi, é osso encontrar leitoras compatíveis com Linux… :frowning:

Criado 30 de março de 2011
Ultima resposta 31 de mar. de 2011
Respostas 2
Participantes 2