Certificado Digital A3 em aplicação web

0 respostas
W

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