Pessoal, bom dia.
Estou com um desafio pra resolver aqui onde trabalho.
Tenho uma aplicação para utilização dos métodos da NFe.
Aqui utilizamos um ERP desenvolvido em Progress. Estou implementando uma aplicação para rodar junto desse ERP porem desenvolvido em Java (esse ERP roda um jar que vou disponibilizar).
Estou com uma demanda de assinar um XML utilizando o certificado do cliente e nao o que temos aqui na empresa.
.
Este certificado é passado pelo cliente através do nome amigável junto da senha. Pegando essas informações, eu assino o XML com o certificado passado com o valor do nome amigável. Detalhe: esse certificado não está no meu pc, e sim na maquina do cliente.
Se ficou confuso para entender, peço desculpas.
Mas resumindo, meu programa faz isso:
- Uma janela swing dispobniliza todos os certificados que esse cliente possui no computador dele, este informa o certificado que está aparecendo com o nome amigavel.
*Selecionado o certificado, este informa a senha deste certificado em um campo JPassword.
*Clicando em Ok, é criado um arquivo texto com o nome do amigavel do certificado junto da senha para gente (no caso a gente obtem esse arquivo XML para ver qual certificado o cliente escolheu)
*Atraves desse nome (caminho amigavel), assino o xml com o certificado que esta na maquina do cliente (ou seja, o parametro para eu achar o certificado do cliente é o nome amigavel)
Tenho que utilizar algum socket para isso? Não tenho ideia de como será o processo para realizar isso, pois estava assinando meus XMLs com o certificado aqui da empresa, que inclusive, esse arquivo esta no meu computador.
O arquivo que recebo é algo assim:
caminho_amigavel: 1.2.840.113549.1.9.1=#161a726f647269676f2e776174616e61626540647a796f6e2e636f6d,CN=Dzyon SA,OU=ID - 3095471,OU=Assinatura Tipo A1,OU=Autenticado por AR Rina,O=ICP-Brasil,C=BR
senha: 123
Qualquer dica agradeço muito.