Olá pessoal,
Seguinte… pode um applet, em um servidor apache, funcionando em um portal php… enviar e receber comandos de um Servlet em outro servidor (não na mesma máquina)?
Policy? Signed jar? Impossível?
Obrigado,
Rodrigo
Olá pessoal,
Seguinte… pode um applet, em um servidor apache, funcionando em um portal php… enviar e receber comandos de um Servlet em outro servidor (não na mesma máquina)?
Policy? Signed jar? Impossível?
Obrigado,
Rodrigo
HttpConnection ?
Olá,
Estou usando justamente HttpConnection, e ainda assim tenho exceções AccessDenied;
Obrigado pela dica
Eis a Stack Trace da exceção (estou tentando conectar no IP 192.168.0.8, porta 80, que é o Servidor Tomcat 5.5.9):
java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.8:8080 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.clienteui.logica.Comunicador.login(Comunicador.java:56)
at com.clienteui.ui.SuporteUI.init(SuporteUI.java:43)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ano passado eu utilizava HttpConnection pra fazer isso que vc está precisando… De dentro da faculdade pra acesso ao servidor (que estava externo) eu não conseguia. Até que mascararam a máquina (liberaram ela no firewall). Depois disso deu certo.
Será se não é o seu caso? Tem alguma coisa entre sua máquina e o servidor? Parece que não, mas isso me consumiu uma semana de dor cabeça
Olá
Sua applet é assinada? Acho que não e este é o passo que está faltando.
[]s
Luca
Olá,
Realmente, não assinei meu applet. Como devo fazê-lo? (nunca fiz isso antes). Claro, vou procurar referências para aprender, mas tem algum passo específico na distribuição do Applet?
Se alguém puder me fornecer link para um bom tutorial ou artigo, eu agradeço
Obrigado pela ajuda, pessoal!
Já consegui fazer a assinatura do JAR, tudo funcionando. Muito obrigado à todos!
Olá
OK, beleza! Mas de todo modo incluo abaixo os passos que usei há mais de 3 anos para fazer isto e que quem quiser usar deve conferir estudando em links que pode encontrar no google pesquisando por signed applets ou coisa parecida. Não garanto que esteja tudo certo.
Passos para criar um certificado digital e assinar uma applet usando Java
(Troque todos os campos com SEU ou SUA por seus dados)
Criar a applet normalmente.
Criar a chave com keytool no prompt do DOS
c:\SEUdir>keytool -keystore SEUkeystore.keystore -genkey -keyalg rsa -alias SEUalias
Enter keystore password: SUAsenha
What is your first and last name?
[Unknown]: SEUdominio
What is the name of your organizational unit?
[Unknown]: SEUdepartamento
What is the name of your organization?
[Unknown]: SUAempresa
What is the name of your City or Locality?
[Unknown]: SUAcidade
What is the name of your State or Province?
[Unknown]: SEUestado
What is the two-letter country code for this unit?
[Unknown]: SEUpais
Is CN=SEUdominio, OU=SEUdepartamento, O=SUAempresa, L=SUAcidade, ST=SEUestado, C=SEUpais correct?
[no]: yes
Enter key password for <SEUalias>
(RETURN if same as keystore password): SUAsenhadoalias.
c:\SEUdir>
c:\SEUdir>keytool -export -keystore SEUkeystore.keystore -alias SEUalias -file SEUarquivocontendocertificado.crt
Enter keystore password: SUAsenha
Certificate stored in file <SEUarquivocontendocertificado.crt>
c:\SEUdir>
Crie SEUjar normalmente no prompt do DOS (com ant) ou com ajuda do seu IDE
Assine o jar com jarsigner:
c:\SEUdir>jarsigner -keystore SEUkeystore.keystore SEUJar.jar SEUalias
Enter Passphrase for keystore: SUAsenhadoalias
Enter key password for SEUalias: SUAsenha
c:\SEUdir>
No prompt do DOS, usar o HTML Converter (htmlconverter) da mesma versão do Java usado na applet para converter a página feita usando o antigo e obsoleto label APPLET. O HTML Converter funciona do seguinte modo: primeiro copia o arquivo dado para um temporário. Neste arquivo temporário é feita a busca pelo label APPLET e a troca do que está entre os labels <APPLET> e </APPLET> de acordo com o padrão pedido. Se a conversão for bem sucedida, o arquivo original é renomeado como backup e o temporário é salvo com o nome do original.
Isto pode ser feito de 2 modos:
a) Carregar o certificado no Browser do cliente a partir de uma página html lida remotamente e o cliente deve aceitar o certificado
b) Alterar no cliente o aquivo JAVA_HOME/lib/security/cacerts fazendo a importação do certificado (SEUarquivocontendocertificado.crt) para ele.
É isso aí, qualquer dúvida grite!
[]s
Luca
É isso aí, foi isso que fiz seguindo os passos de um pequeno tutorial da web: http://www.icesoft.com/developer_guides/icreader_icebrowser_bean/htmlguide/basics16.html
Novamente, obrigado!