Dificuldade em se acessar um Web Service

Boa tarde pessoal, estou com um belo de um problema aqui, vejam se podem me dar uma luz:

Estou fazendo uma POC sobre segurança em Web Services, primeiramente fiz utilizando apenas autenticação básica(fiz um client em java que acessava o WS, utilizei axis 2, gerando stubs).
Essa autenticação básica funcionou perfeitamente(tanto no browser, qnto no cliente Java que eu fiz pra acessar)

Porém, quando fui fazer o acesso usando HTTPS(gerei o certificado usando o keytool), não ta dando certo, e toda hora que eu pesquiso, eu acho que o problema pode ser outra coisa.

Eu fiz o seguinte, mudei na classe stub o endpoint(em todo lugar que tinha http, mudei pra https) e rodei o programa:

auth.setPassword("123");
		auth.setUsername("matheus");
		auth.setPreemptiveAuthentication(true);

		// Seta a propriedade do tipo de autenticação que será feita, e o objeto
		// auth, que descreve a autenticação.
		options.setProperty(HTTPConstants.AUTHENTICATE, auth);
		options.setProperty("javax.net.ssl.trustStore", 
			    "C:\\Documents and Settings\\Administrador\\.keystore");

		
		
		// Realiza a requisição do serviço, passando os parâmetros definidos no
		// método do WS
		SysInfoStub.GetSysInfo request = new SysInfoStub.GetSysInfo();
		request.setPasswd("SENHA SENHA SENHA SENHA SENHA");
		request.setUser("USER USER USER USER");

		try {
			stub.getSysInfo(request);
			SysInfoStub.GetSysInfoResponse response = stub.getSysInfo(request);
			System.out.println(response.get_return());

		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Que me apresentou o seguinte erro:

Ao que parece, é erro no .keystore, só que não to entendendo o que eu posso fazer pra resolver isso :frowning:

Pesquisei em vários lugares, mas não encontrei nada pudesse resolver meu problema…

Alguém tem idéia do que eu preciso fazer?

Bom dia

E então, conseguiu resolver este problema?

Eu to fazendo praticamente a mesma coisa que você, e agora também está dando essa exception.

:?

Importaram esse certificado para o cacerts do cliente também?

Opaa

consegui aqui, pelo menos não ta dando mais esse erro.

Havia algo de errado na tag abaixo no arquivo services.xml

	<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
		<ramp:passwordCallbackClass>br.com.minha.classe.ServicesPolicy</ramp:passwordCallbackClass>
	</ramp:RampartConfig>		

Talvez o pacote estivesse errado.
Aparentemente está ok.

Vou verificar melhor.

Valeu

Eu já consegui resolver o problema sim, o código correto:

[code]auth.setPassword(“123”);
auth.setUsername(“matheus”);
auth.setPreemptiveAuthentication(true);

	// Seta a propriedade do tipo de autenticação que será feita, e o objeto
	// auth, que descreve a autenticação.
	options.setProperty(HTTPConstants.AUTHENTICATE, auth);
	// specify the location of where to find key material for the default
	// TrustManager
	// (this overrides jssecacerts and cacerts)
	System.setProperty("javax.net.ssl.trustStore", "client.keystore");
	System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
	// use Sun's reference implementation of a URL handler for the "https"
	// URL protocol type.
	System.setProperty("java.protocol.handler.pkgs",
			"com.sun.net.ssl.internal.www.protocol");
	// dynamically register sun's ssl provider
	Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

	// Realiza a requisição do serviço, passando os parâmetros definidos no
	// método do WS
	SysInfoStub.GetSysInfo request = new SysInfoStub.GetSysInfo();
	request.setPasswd("SENHA SENHA SENHA SENHA SENHA");
	request.setUser("USER USER USER USER");
	request.getPasswd();

	try {

		stub.getSysInfo(request);
		SysInfoStub.GetSysInfoResponse response = stub.getSysInfo(request);
		System.out.println(response.get_return());

	} catch (RemoteException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}[/code]