2009-06-20 4 views
3

Certains téléphones demandent uniquement à l'utilisateur l'autorisation la première fois qu'une connexion est établie. D'autres font apparaître l'invite d'autorisation chaque fois que le MIDlet tente d'établir une connexion HTTP! Quelles sont les options si nous voulons supprimer l'invite? Pouvons-nous signer le JAR en utilisant une seule autorité de certification (CA) et le faire fonctionner sur tous les périphériques? Devons-nous payer pour une signature à chaque sortie?L'invite d'autorisation HTTP supplémentaire de J2ME est ennuyeuse

Est-ce une option pour créer notre propre certificat de CA et dire à nos clients de l'installer sur ce périphérique?

Alternativement, il semble que les connexions à socle simple n'en souffrent pas. Existe-t-il une implémentation gratuite de HTTP sur TCP pour J2ME?

+0

La page "[Java ME signature for dummies] (http://wiki.forum.nokia.com/index.php/Java_ME_signing_for_dummies) "peut être utile. –

Répondre

0

Pour supprimer l'invite de connexion HTTP, la signature d'une application est la seule option. Un autre serait d'obtenir préchargement sur un téléphone pré-marché, mais même les fabricants de combinés exigent jad/pots signés. La création d'un ensemble jad/jar sur différents périphériques ne dépend pas de la signature, mais de la conception d'une application. Si vous pouvez répondre à cette question alors oui, vous pouvez avoir un jad/jar signé sur plusieurs appareils.

Je ne sais pas comment créer nos propres certificats et demander aux clients de les installer. Je ne pense pas que cela fonctionne car je ne pense pas que ce soit possible. HTTP sur TCP est une implémentation assez facile, à condition que vous sachiez ce que vous faites, mais je ne connais pas les implémentations libres de celui-ci.

4

Certains téléphones vous permettent de modifier manuellement les paramètres pour les définir une fois par session. Ou essayez d'ajouter

MIDlet-Permissions: javax.microedition.io.connector.http

au fichier JAD.

Oui, si la construction est signé avec le certificat racine qui est disponible sur la plupart des appareils, Verisign de classe 3 certificat, par exemple

En tant que mesure de sécurité, les appareils ne vous permettent pas d'installer vos propres certificats, même si elle est obtenue à partir d'un CA.

Les connexions de socket standard peuvent ajouter une surcharge lors du traitement des données côté client. Des problèmes de sécurité sont également impliqués.

+0

Merci pour la suggestion. J'ai essayé la permission, pas de chance. Peut-être qu'un jour l'iPhone aura plus de 5% de part de marché et nous n'avons plus à nous inquiéter de ce non-sens de J2ME. –

1

Il n'est pas garanti que la signature du fichier JAR supprime ces invites sur tous les combinés et tous les réseaux. Cela peut marcher sur certains. AFAIK vous avez habituellement besoin de signer par construction; Donc, si vous utilisez le même build sur de nombreux combinés, vous ne devez signer qu'une seule fois.

Vous pouvez écrire votre propre implémentation de HTTP sur les sockets, mais sachez que les implémentations Socket n'autorisent pas l'accès aux ports 80 et 8080 (encore AFAIK).

La meilleure option lorsque vous rencontrez plusieurs invites HTTP est de diriger l'utilisateur vers le paramètre d'autorisation MIDlet dans le menu de son combiné; Cela devrait être changé pour "demander une fois".

HTH, funkybro

0

Get it Java Verified et vous trouverez que sur tous les réseaux et téléphones - l'utilisateur se recevez un seul message à chaque fois qu'ils commencent à l'application d'autoriser une connexion.

1

Java certificat racine UTI Verifieds est pas sur tous les combinés/combinaisons de réseau, le même est vrai pour d'autres domaines dans le tiers de confiance tels que Verisign et Thawte (pour ces organismes en particulier les appareils Motorola)

Il est juste pour dire que le certificat UTI est probablement celui de choisir pour vous donner le plus de couverture à travers les combinés