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?