Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1536 connectés 

  FORUM HardWare.fr
  Programmation

  [Java] Socket, Securité IE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Socket, Securité IE

n°43176
antsite
Je me souviens
Posté le 27-06-2001 à 15:59:34  profilanswer
 

Je souhaite tout simplement en voyer une String vers une IP. Quand je lance l'action, j'obtiens avec Internet Explorer le message 'Exception' suivant :
 
com.ms.security.SecurityExceptionEx[ListenerBouton.actionPerformed]: cannot access "127.0.0.1":1050
 
j'ai fais un  
try {envoi des données}
catch{exception}
 
Il fait l'exception et n'envoie rien.
Merci de votre aide.

mood
Publicité
Posté le 27-06-2001 à 15:59:34  profilanswer
 

n°43214
[FDS]
Posté le 27-06-2001 à 17:45:54  profilanswer
 

IE a son propre SecurityManager pour gérer la sécurité avec les applets Java.
 
Tu dois insérer dans ton code (avant l'envoi de ta String) cette ligne pour autoriser les accès réseau :
PolicyEngine.assertPermission(PermissionID.NETIO);
 
PolicyEngine est une classe Microsoft du package com.ms.security, tu dois donc ajouter dans ton classpath le fichier Ljnxb5bl.zip qui se trouve chez moi dans le répertoire winnt\Java\Packages.
 
Pour plus d'infos
http://support.microsoft.com/suppo [...] 5/6/22.ASP

n°43235
antsite
Je me souviens
Posté le 27-06-2001 à 20:26:18  profilanswer
 

Merci beaucoup, mais je n'ai nulle part sur mon disque (notemment dans windows\java\packages) le fichier Ljnxb5bl.zip.
Comment faire ?

n°43245
[FDS]
Posté le 27-06-2001 à 22:22:24  profilanswer
 

Tu dois trouver une archive zip qui contient les classes Java de Microsoft dont les classes du package com.ms.security. Apparement le fichier n'a pas tjs le même nom mais il doit faire 5mo.

n°43319
antsite
Je me souviens
Posté le 28-06-2001 à 11:17:43  profilanswer
 

J'ai trouvé le .zip. Ca compile sans erreur, mais le résultat est toujours le même.
Voici le bout de code :
 
PolicyEngine.assertPermission(PermissionID.NETIO);
 
try
{
 Socket s = new Socket("127.0.0.1",1050);
 DataOutputStream fout = new DataOutputStream(s.getOutputStream());
 fout.writeChars("Si ca marche, c'est top !" );
   
 s.close();
 source.setText("Data sent" );
}
catch(Exception except)
{
 source.setText(except.toString());
}

n°43350
[FDS]
Posté le 28-06-2001 à 13:07:41  profilanswer
 

Tu dois signer ton applet

n°43357
[FDS]
Posté le 28-06-2001 à 13:27:21  profilanswer
 

Avant il faut que ton applet soit dans une archive jar ou cab
 
Je te donne un exemple avec une applet archivée dans un cab
 
Tu dois d'abord downloader le sdk de microsoft:
http://www.microsoft.com/java/sdk/default.htm
 
// Création d'un cab
cabarc -p -r n monApplet.cab monApplet.class
 
// Création d'un certificat pour la signature de l'archive cab
makecert -sk cle -n "CN=BLABLA" certificat.cer
cert2spc certificat.cer certificat.spc
 
// Signature du cab
signcode -j javasign.dll -jp LOW -spc certificat.spc -k cle monApplet.cab
 
pour plus d'infos
http://www.microsoft.com/Java/security/default.htm
 
Le mieux serait de signer ton applet(dans une archive jar) avec les outils de Sun mais ca déconnait chez moi à cause d'IE et son système de sécurité à la con. Si jamais tu utilise la méthode de Sun et que ca marche ca m'intéresse.

n°44325
CtHuLhU50
Posté le 03-07-2001 à 15:11:09  profilanswer
 

Ca marche toujours pas !

n°44346
CtHuLhU50
Posté le 03-07-2001 à 15:41:01  profilanswer
 

up please une réponse !!!


---------------
Virtual 3D WorlD
n°44353
[FDS]
Posté le 03-07-2001 à 15:53:36  profilanswer
 

Tu as quoi comme erreur !

mood
Publicité
Posté le 03-07-2001 à 15:53:36  profilanswer
 

n°44355
CtHuLhU50
Posté le 03-07-2001 à 15:56:00  profilanswer
 

tjr la meme !
com.ms.security.SecurityExceptionEx[ListenerBouton.actionPerformed]: cannot access "127.0.0.1":12
 
L'applet est signé avec sdk


---------------
Virtual 3D WorlD
n°44362
[FDS]
Posté le 03-07-2001 à 16:00:51  profilanswer
 

Tu as quoi comme paramètres de sécurité dans IE


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44366
CtHuLhU50
Posté le 03-07-2001 à 16:03:39  profilanswer
 

par defaut


---------------
Virtual 3D WorlD
n°44371
[FDS]
Posté le 03-07-2001 à 16:10:34  profilanswer
 

ton pb peut venir de pas mal de choses
 
Modifie la permission NETIO en SYSTEM pour avoir tout les droits
PermissionID.SYSTEM
 
Est-ce que tu utilises d'autres archives que celle qui contient ton applet, si oui tu dois les signer aussi.


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44375
CtHuLhU50
Posté le 03-07-2001 à 16:12:44  profilanswer
 

tout est fait le NETIO  et l'applet est singet !  :eek2:


---------------
Virtual 3D WorlD
n°44376
[FDS]
Posté le 03-07-2001 à 16:19:25  profilanswer
 

tu as mis ton applet dans un cab ou un jar ?
 
c quoi le code de la page html


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44377
CtHuLhU50
Posté le 03-07-2001 à 16:21:42  profilanswer
 

cab
 
<HTML>
<HEAD>
<TITLE>Java Socket</TITLE>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="localhost" CONTENT="no-cache">
</HEAD>
<BODY>
 
<APPLET ARCHIVE="sock.cab" CODE="sock.class" WIDTH=300 HEIGHT=200 ALT="Vous ne pouvez lire les applets Java" BORDER=0>
</APPLET>
</BODY>
</HTML>


---------------
Virtual 3D WorlD
n°44379
[FDS]
Posté le 03-07-2001 à 16:25:39  profilanswer
 

le port 12 de ta machine est ouvert ???


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44387
CtHuLhU50
Posté le 03-07-2001 à 16:30:08  profilanswer
 

Oui je port 12 est ouvert ! :)


---------------
Virtual 3D WorlD
n°44395
[FDS]
Posté le 03-07-2001 à 16:42:18  profilanswer
 

regarde tes messages privées


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44400
CtHuLhU50
Posté le 03-07-2001 à 16:48:10  profilanswer
 

voila envoyer mais le code est bon c le certificat micro$oft ki plante enfin il plante pas mais ca marche po


---------------
Virtual 3D WorlD
n°44414
[FDS]
Posté le 03-07-2001 à 17:14:49  profilanswer
 

Remplace ca:
Socket s = new Socket("127.0.0.1",useport);
PolicyEngine.assertPermission(PermissionID.NETIO);
...
 
par ca:
PolicyEngine.assertPermission(PermissionID.NETIO);
Socket s = new Socket("127.0.0.1",useport);
...
 
Les permissions doivent être définies avant les accès IO
 
 
Je te donne 2 fichiers bat pour la creation et la signature du cab
 
creerCAB.bat
------------
@echo off
 
echo -----------------------------------
echo Creation de l'archive sock.cab
echo -----------------------------------
cabarc -p -r n sock.cab *.class
 
 
signerCAB.bat
-------------
@echo off
 
echo -----------------------------------
echo Signature du fichier sock.cab
echo -----------------------------------
setreg 1 true
 
IF NOT EXIST certificat.cer makecert -sk cle -n "CN=CtHuLhU50" certificat.cer
IF NOT EXIST certificat.spc cert2spc certificat.cer certificat.spc
 
signcode -j javasign.dll -jp LOW -spc certificat.spc -k cle sock.cab


---------------
En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique, il y en a.
n°44498
gfive
Posté le 04-07-2001 à 01:26:36  profilanswer
 

Normalement, une applet non signée ne peut ouvrir de connection réseau QUE vers la machine d'où elle a été téléchargée...Si ton applet doit être utilisée par d'autres que toi, je te déconseille les solutions à base d'install de packages MS :  
1 - les gens qui utilisent IE les ont pas forcément,  
2 - les gens qui utilisent pas IE seront baisés

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Java] Socket, Securité IE

 

Sujets relatifs
[JAVA] Ouin ! J'éfface ce que j'ai déjà écrit !exist il des progs similaire a PHP et JAVA serveur (websphere)
[JAVA] Comment communiquent les beans entre eux ?[java script] probleme avec les mac !
[java] rangementrecherche un developpeur php/java
[java] menu "aide"comment tester un serveur d application java simplement ?
[JAVA] Get reference???[java] encore et toujour awt
Plus de sujets relatifs à : [Java] Socket, Securité IE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR