Applet JMF et Sécurité

Applet JMF et Sécurité - Java - Programmation

Marsh Posté le 19-09-2006 à 17:34:01    

Bonjour,
J'ai developpé une petite applet du type MediaPlayer qui se connecte à un serveur de streaming pour jouer du contenu multimedia.
Dans mes tests (en local et en LAN), j'ai un comportement un peu bizarre:
l'applet commence la négociation rtsp puis s'arrete en plein milieu (fin du SETUP) et me sort un  
 

Code :
  1. java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
  2. at java.security.AccessControlContext.checkPermission(Unknown Source)
  3. at java.security.AccessController.checkPermission(Unknown Source)
  4. at java.lang.SecurityManager.checkPermission(Unknown Source)
  5. at java.lang.SecurityManager.checkAccess(Unknown Source)
  6. at java.lang.ThreadGroup.checkAccess(Unknown Source)
  7. at java.lang.Thread.init(Unknown Source)
  8. at java.lang.Thread.<init>(Unknown Source)
  9. at com.sun.media.util.MediaThread.<init>(MediaThread.java:176)
  10. at com.sun.media.rtp.util.RTPMediaThread.<init>(RTPMediaThread.java:23)
  11. at com.sun.media.rtp.RTPEventHandler.<init>(RTPEventHandler.java:26)
  12. at com.sun.media.rtp.SSRCCache.<init>(SSRCCache.java:193)
  13. at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2711)
  14. at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2515)
  15. at com.sun.media.content.rtsp.RtspUtil.createSessionManager(RtspUtil.java:399)
  16. at com.sun.media.content.rtsp.RtspUtil.rtspSetup(RtspUtil.java:183)


 
J'ai d'abord essayé de signer l'applet en créant mon propre certificat, mais ca n'aide pas.
 
Quand je modifie java.policy du JRE en rajoutant un  

Code :
  1. grant {
  2.   permission java.security.AllPermission;
  3.   permission java.lang.AllPermission;
  4. };


à ce moment là, on franchit l'étape bloquante jusqu'à la méthode RTSP.PLAY.
Je ne comprends pas pq j'ai encore des exceptions de sécurité une fois l'applet signée, ni pourquoi je peux faire ouvrir des sockets sans signer l'applet.
 
Et enfin la VM qui exécute l'applet est une 1.5 (le dev se fait sous 1.4.2)
 
Voilà, j'espère que vous comprendrez mieux que moi ce qui se passe.
Merci d'avance.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 19-09-2006 à 17:34:01   

Reply

Marsh Posté le 13-10-2006 à 01:59:26    

Re-
j'ai finalement trouvé d'où ca vient:
la classe que j'utilise dérive de deux classes qui utilisent des notions de sécurité; c'est assez bizarre de voir que dans JMF, Player est "non-sécurisé" alors que Basic Player l'est.
 
Par contre, comme je dispose du code du BasicPlayer (en l'occurence) j'ai bien envie de réécrire la classe en supprimant les checkPermissions.
 
J'aimerais surtout savoir en fait quel est l'intérêt de vérifier les permissions à ce niveau là? Quel est le risque à le virer?
Merci


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed