Capicom + token + senha

3 respostas
R

Boa tarde a todos!

Estou desenvolvendo uma aplicação que faz o uso de Tokens com a API CAPICOM, porém estou com um problema.

Senpre que vou fazer o encrypt de uma string ele abre uma MessageBox solicitando a senha.

Gostaria de saber se alguém conhece um modo para essa senha ser passada via código não havendo a necessidade da solicitação da mesma ao usuário.

O processo que estou fazendo deve ser totalmente automatizado…

Trecho do código onde faço o encrypt:

byte[] arrayofbyte1 = Base64.base64Decode(Challenge.getBytes());
    Cipher localcipher = null;
    
    localcipher = Cipher.getInstance(privatekey.getAlgorithm());       
        
    localcipher.init(1, privatekey);   
    	    
    byte[] arrayofbyte2 = localcipher.doFinal(arrayofbyte1);

    s1 = new String(Base64.base64Encode(arrayofbyte2));
    
    return s1;

Obrigado

3 Respostas

leonardom

Oi! Que eu saiba isso não é possível não! É devido a propria segurança do token.

E

“Mais ou menos”. Quando se usa PKCS#11, se não me engano, é possível passar a senha via código.

Entretanto, o grande problema com dispositivos que suportam a CryptoAPI (que é a API que é encapsulada pelo CAPICOM) é que a parte de entrada de senha é responsabilidade do driver do dispositivo. Se usar CAPICOM, não sei se é possível passar alguns parâmetros mágicos (que são dependentes para cada driver - alguns permitem e outros não permitem passar a senha via código) que a CryptoAPI deixa passar.

Outra coisa horrível da CryptoAPI é quanto tempo dura a tal senha digitada. Pode ser que ela valha por toda a sessão ou pode ser que ela valha apenas para algumas assinaturas. Eu nunca soube direito como é que se faz para solicitar novamente a senha, caso seja preciso.

F

Oi

Alguem pode me indicar um tutorial de como usar Capicom + Java para ler os certificados digitais do usuário?

Obrigado!

Criado 27 de agosto de 2010
Ultima resposta 25 de fev. de 2011
Respostas 3
Participantes 4