2009-06-20 25 views
3

某些電話只在首次建立連接時提示用戶許可。其他人在MIDlet嘗試建立HTTP連接時彈出權限提示!如果我們想抑制提示,有什麼選擇?J2ME的額外惱人的HTTP權限提示

我們是否可以僅使用一個CA(證書頒發機構)來簽署JAR並使其可用於所有設備?我們是否需要爲每個版本的簽名付費?

是否可以創建我們自己的CA證書並告訴我們的客戶將其安裝在設備上?

另外,似乎普通的套接字連接不會如此。在J2ME的TCP之上是否有免費的HTTP實現?

+0

頁面「[Java ME簽署傻瓜](http://wiki.forum.nokia.com/index.php/Java_ME_signing_for_dummies)「可能會有所幫助。 – 2010-05-30 18:28:00

回答

0

要禁止HTTP連接提示,請僅對應用程序進行簽名。另一種方法是在售前電話上預先加載,但即使是手機制造商也需要簽名的jad/jar。

在不同的設備上製作一套jad/jar工作不依賴於簽名,而是如何設計應用程序。如果您可以解決這個問題,那麼可以,您可以在多個設備上安裝一個已簽名的jad/jar工作。

我不知道如何創建我們自己的證書並要求客戶安裝它們。我不認爲這是有效的,因爲我不認爲這是可能的。

HTTP over TCP是一個相當簡單的實現,只要你知道你在做什麼,但我不知道它的任何自由實現。

4

有些手機可讓您手動更改設置以在每個會話中設置一次。或嘗試加入

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

到jad文件。

是,如果構建與根證書上可用的大多數設備,威瑞信簽署級證書3,例如

作爲一種安全措施,設備不允許用戶安裝自己的證書,即使它是從CA獲得的。

普通套接字連接可能會增加處理客戶端數據的開銷。還涉及一些安全問題。

+0

感謝您的建議。我嘗試了許可,沒有運氣。也許有一天iPhone的市場份額將超過5%,我們不必擔心這個J2ME廢話了。 – 2009-06-22 18:31:21

1

簽名JAR並不能保證在所有手持設備和所有網絡上禁止這些提示。它可能對一些工作。 AFAIK你通常需要簽署每個版本;所以如果你在許多手機上使用相同的版本,你只需要簽署一次。

你可以在套接字上編寫自己的HTTP實現,但要注意Socket實現不允許訪問端口80和8080(再次AFAIK)。

當遇到HTTP的多個提示時,您的最佳選擇是將用戶指向其手機菜單中的MIDlet權限設置;這應該改成「請問一次」。

HTH, funkybro

0

得到它的Java認證,你會發現,在所有網絡和電話 - 用戶將收到提示每次只能一旦他們開始應用授權的連接。

1

的Java Verifieds UTI根證書是不是所有的手機/網絡組合,同樣是在受信任的第三方如Verisign和Thawte其他領域真正的(特別是對於摩托羅拉設備這些機構)

這是公平地說,UTI證書可能是選擇給你的手機上最多的覆蓋範圍