Certificado Digital A3 em aplicação web

0 respostas
worldfernando

Opa Pessoal tranquilo estou com um problema vê se alguem pode me ajudar...

Tenho uma aplicação de CTe funcionando show de bola com certificado A1, meu cliente comprou um A3 a aplicação e web feita em grails aonde acesso o certificado A1 da com a seguinte classe

public class CertificadoDigital {

    public static void ConfiguraCertificadoDigital(EnumKeyStore keystore, String nameProviderA3, String caminhoArquivoConfiguracaoA3, String localCertificadoA1, String senha, String caminhoArquivoJKS) {

        System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");        
        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", caminhoArquivoJKS);

        //Tokem precisa passar o caminho da DLL ou SO do driver
        //certificado A3
        if (keystore == EnumKeyStore.PKCS11) {
            Provider p = new sun.security.pkcs11.SunPKCS11(caminhoArquivoConfiguracaoA3);
            Security.addProvider(p);
            System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-" + nameProviderA3);
            System.setProperty("javax.net.ssl.keyStore", "NONE");
        } else //Certificado A1
        if (keystore == EnumKeyStore.PKCS12) {
            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
            System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
            System.setProperty("javax.net.ssl.keyStore", localCertificadoA1);
            System.setProperty("javax.net.ssl.keyStorePassword", senha);
        }

        System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
    }
}

pois bem como faço para passar a senha para a geração e assinatura ficam em um servidor linux(WEB), existe uma maneira de passar a senha? ou se você fez como posso fazer isso? o que sugerem?

Criado 1 de março de 2011
Respostas 0
Participantes 1