Importar certificado SSL programaticamente

Boa noite galera

Tudo bom?

Eu estou com um problema, já faz uns 3 dias que estou procurando e não encontro a solução.

Eu estou consumindo um wsdl da NotaFiscal eletronica, e para isso eu preciso fazer uma conexão SSL, segue o link do wsdl https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx?WSDL

Eu baixei o certificado pelo browser, um arquivo DER, e eu importei ele para minha JVM com o seguinte comando

sudo keytool -import -alias example -keystore %JAVA_HOME%/jre/lib/security/cacerts -file notafiscal.der

E funciona corretamente, eu consigo consumir o serviço de buenas.

Eu queria saber um jeito de consumir esse serviço sem precisar importar o certificado para jvm, gostaria de importar ele pelo código java mesmo

Eu achei um código, porem eu passo o certificado ele está dizendo que o certificado está no formatado errado

SSLContext sc = SSLContext.getInstance("SSLv3");

		KeyManagerFactory kmf =
		    KeyManagerFactory.getInstance( KeyManagerFactory.getDefaultAlgorithm() );

		KeyStore ks = KeyStore.getInstance( KeyStore.getDefaultType() );
		ks.load(new FileInputStream("/home/bruno/MaterialNotaFiscal/notafiscaCF"), "changeit".toCharArray() );

		kmf.init( ks, "changeit".toCharArray() );

		sc.init( kmf.getKeyManagers(), null, null );

		ArquivoCF service;
		ArquivoCFSoap12 port;
		
		service = new ArquivoCF();
	    port = service.getArquivoCFSoap12();
	       
	    Binding binding = ((BindingProvider) port).getBinding();
		List<Handler> handlersList = new ArrayList<Handler>();
		handlersList.add(new HeaderHandler(cbo.autenticacaoDAO.getAutenticacao()));
			
		binding.setHandlerChain(handlersList);
		
		
		((BindingProvider) port).getRequestContext()
		    .put(
		        "com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory",
		        sc.getSocketFactory() );

Segue a exception

Exception in thread "main" java.io.IOException: Invalid keystore format
	at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)
	at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
	at java.security.KeyStore.load(KeyStore.java:1214)
	at br.com.rotanotafiscalcf.business.CupomFiscalBO.main(CupomFiscalBO.java:69)

Gostaria de saber se tem um jeito de eu conseguir consumir esse serviço sem precisar importar o certificado para JVM, e sim importando diretamente pelo código.

Se alguém puder ajudar agradeço desde já

Até + e obrigado

Em referência ao código acima, eu acho que eu não deveria tentar importar o certificado no código, então eu criei uma KeyStore, e importei o certificado para a keystore que eu criei, ai no código acima eu referencio a keyStore com o certificado importado.

O erro alterou, agora eu obtenho a exception que diz que o certificado não foi encontrado para poder acessar o serviço

Eu importando o certificado no cacerts funciona belezinha, o problema é em acessar o serviço sem o certificado no cacerts

Valew