Ajuda com certificado Digital

2 respostas
Jr_webmaster_100_jav

Ola pessoal, desculpe se ja existe algo sobre, mas estou com uma duvida um pouco noob aqui.

Seguinte na tela de configuração do monitor de NFe que estou desenvolvendo aqui tem 2 radio buttom um com A1 e outro com A3
representando qual o certificado digital a ser utilizado.

ao lado existe um combobox que ao selecionar o modelo de certificado ele preencha com os certificados daquele tipo instalados na maquina.
eu consegui ler os certificados da maquina da seguinte maneira:

try {
            
            KeyStore ks = KeyStore.getInstance("Windows-MY","SunMSCAPI");
            ks.load(null,null);
            
            Enumeration<String> enu = ks.aliases();
            
            List<String> certificadosInstalados = new ArrayList<String>();
            
            while(enu.hasMoreElements())
            {
                certificadosInstalados.add(enu.nextElement());
            }

            for(String a: certificadosInstalados)
            {
                 System.out.println(a);
            }

mas pelo visto essa maneira mostra todos os certificados ou estou errado ?

eu queria selecionar somente os A1 ou somente os A3 de acordo com a escolha do usuário.

Aguardo respostas.

Atenciosamente

2 Respostas

E

Para você saber se um certificado é A1 ou A3 é necessário olhar em um determinado campo do certificado,

Pelo que imagino, você precisa achar um campo cujo OID seja 2.16.76.1.2.1.n para certificados do tipo A1, e 2.16.76.1.2.3.n para certificados do tipo A3.

Como é que se faz isso? É meio chato e normalmente requer alguma biblioteca como a BouncyCastle.

http://www.iti.gov.br/images/twiki/URL/pub/Certificacao/DocIcp/docs13082012/DOC-ICP-04.01_-_versao_2.3.pdf

Jr_webmaster_100_jav

sabe como fazer a verificação do OID com o BouncyCastle ?

nao encontrei algo especifico para o OID

Criado 3 de janeiro de 2013
Ultima resposta 3 de jan. de 2013
Respostas 2
Participantes 2