Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > И снова о сертификатах


Автор: PiyodaiSiyo 2.12.2010, 01:21
Привет всем.
Знает ли кто нибудь каким сертификатом подписать мидлет в котором  есть пермишн пушрежистри.
конечно имеются в виду не коммерческие серты.
Что до распространенного в сети бихэпи то он не видит этот пермишн хотя такие как смс,хттп,файловые(рид,райт) и пр. работают на ура.Сам подписал оперу 5 ,работает  .
Тела s40. Название серта exp.cer. а вот код:
Код
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.io.*;

public class smsMidlet extends MIDlet implements CommandListener{
private Display display;
private Command cmExit;
private Alert alertIncomingMessage;
int incomingPortNum=10000;
MessageConnection incomingConnection = null;
Message incomingMessage;

public smsMidlet ()
{
display = Display.getDisplay(this);
alertIncomingMessage = new Alert("Incoming Message");
alertIncomingMessage.setTimeout(Alert.FOREVER);

cmExit = new Command("Exit", Command.EXIT, 1);
alertIncomingMessage.addCommand(cmExit);
alertIncomingMessage.setCommandListener(this);
}

public void startApp(){
String connectList[];
connectList = PushRegistry.listConnections(true);
if (connectList == null || connectList.length == 0) {
//Started by the user,exit
destroyApp(false);
    notifyDestroyed();
}
else { //started from incoming connection...
try {
incomingConnection = (MessageConnection) Connector.open("sms://:" +
incomingPortNum);
// Recieve the message
incomingMessage = incomingConnection.receive();

//If it's a text message add it to the alertif (incomingMessage != null && incomingMessage instanceof TextMessage) {
alertIncomingMessage.setTitle("From: " + incomingMessage.getAddress());
alertIncomingMessage.setString( ( (TextMessage) incomingMessage).
getPayloadText());
//Display the message
display.setCurrent(alertIncomingMessage);
Thread.sleep(3000);

}
catch (Exception e)
{
System.out.println("IO Exception!");
}
}
}

public void pauseApp(){
System.out.println("The pauseApp method is invoked");
}

public void destroyApp(boolean cond){
System.out.println("The destroyApp method is invoked");
}

/**Handle command events*/public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
destroyApp(true);
}
}

}

Смс посылается на порт 10000 (в ждк)
Проверено в ждк ран вайэ ОТА.
пермишны проставлены смс,смс ресив,пушрежистри.
якобы подписан в ждк.
А вот в моем нокия 5130 не работает приходит  только смс и ни гугу smile 
Был бы премного благодарен smile 


Автор: eugine_s 3.12.2010, 02:04
Покажи содержимое .jad своего. 

Автор: PiyodaiSiyo 3.12.2010, 06:24
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 11.3-b02 (Sun Microsystems Inc.)
MIDlet-1: smsMidlet,,smsMidlet
MIDlet-Name: smsMidlet
MIDlet-Permissions: javax.wireless.messaging.sms.receive, javax.microe
 dition.io.PushRegistry, javax.microedition.io.Connector.sms
MIDlet-Push-1: sms://:10000,smsMidlet,*
MIDlet-Vendor: iskandar
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
пример попроще но то же самое 
Код

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.io.*;


public class smsMidlet extends MIDlet implements CommandListener{
private Display display;
private Command cmExit;
private Alert alertIncomingMessage;
int incomingPortNum=10000;
MessageConnection incomingConnection = null;
Message incomingMessage;

public smsMidlet ()
{
display = Display.getDisplay(this);
alertIncomingMessage = new Alert("Incoming Message");
alertIncomingMessage.setTimeout(Alert.FOREVER);

cmExit = new Command("Exit", Command.EXIT, 1);
alertIncomingMessage.addCommand(cmExit);
alertIncomingMessage.setCommandListener(this);
}

public void startApp(){
String connectList[];
connectList = PushRegistry.listConnections(true);
if (connectList == null || connectList.length == 0) {
//Started by the user,exit
destroyApp(false);
    notifyDestroyed();
}
else { //started from incoming connection...
try {
incomingConnection = (MessageConnection) Connector.open("sms://:" +
incomingPortNum);
// Recieve the message
incomingMessage = incomingConnection.receive();

//Ifit's a text message add it to the alertif (incomingMessage != null && incomingMessage instanceof TextMessage) {
alertIncomingMessage.setTitle("From: " + incomingMessage.getAddress());
alertIncomingMessage.setString( ( (TextMessage) incomingMessage).
getPayloadText());
//Display the message
display.setCurrent(alertIncomingMessage);
Thread.sleep(3000);//zaderjka

}
catch (Exception e)
{
System.out.println("IO Exception!");
}
}
}

public void pauseApp(){
System.out.println("The pauseApp method is invoked");
}

public void destroyApp(boolean cond){
System.out.println("The destroyApp method is invoked");
}

/**Handle command events*/public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
destroyApp(true);
}
}

}


 и наконец джад после пописки бихэпи (эксп.сер сертификат):

MIDlet-1: smsMidlet,,smsMidlet
MIDlet-Name: smsMidlet
MIDlet-Vendor: iskandar
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-Jar-Size: 2197
MIDlet-Jar-URL: TSms.jar
MIDlet-Certificate-1-1: MIIB7jCCAVcCBEWxvN0wDQYJKoZIhvcNAQEEBQAwPTELMAkGA1UEBhMCUlUxDTALBgNVBAoTBG5vbmUxDTALBgNVBAsTBG5vbmUxEDAOBgNVBAMTB0RhcmttYW4wIBcNMDcwMTIwMDY1NTI1WhgPMjA3NTA3MDIwNjU1MjVaMD0xCzAJBgNVBAYTAlJVMQ0wCwYDVQQKEwRub25lMQ0wCwYDVQQLEwRub25lMRAwDgYDVQQDEwdEYXJrbWFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYLFUb8RYT89sbTAEE14ApYFI8PVpnxXGgLuE8V6+XGQu4q5MtYwmip8EMm/STLXb73gQmDnQUpwBKzTScXLQDA4n9lLni4yl29/+X5Y0rIA6tlPmK3p9wpt0t9j/rWEYF4zFsiMTNobGHZOK/MAxOM+wPICRW8DFLQ/rYcNjcpQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG1fDNKSjvcvvi20AREsMT80iJdO/YXqcVrUsYrQVaZL3scsA+EVKi7Dv76c8oqjxxiueOnn+fTTmlkAOO5ngzZhk13m3tcNxwUs0A/1GBMbVDbYlEc6vEYQde9x+07iyrxmtwj6qVR1r3zTEy2wS52poVmCkcrPXY0wylKesjFP
MIDlet-Jar-RSA-SHA1: Dd4QOP5Kyq8cjpNCUpo/+ZYfWKQ7X2kSdxHCQxsKg6JVjYsBU/ETzdTQ2RG09d9hnBWLTJbjrnC9RowsDM/khHtp0eEO0mig94gGoiU6kr4LnClHZpFQW972uC8bRWWCJO6zhLxwQiQzSKFAbYsgqVSgN1u7MGFNmf1/xNPWKzA=
MIDlet-Permissions: javax.wireless.messaging.sms.receive, javax.microe
 dition.io.PushRegistry, javax.microedition.io.Connector.sms

сертификат с файликом бла.сис помещен в папку сертификаты/юзер            (mobiMB media browser)
при установке нажимаю в опциях разрешено и поведение описанное выше
См. http://www.forum.allnokia.ru/viewtopic.php?t=18929
при подписке теми же средствами моя любимая опера-мини 5 работает как родная без запросов.
Вот и закралось подозрение ,что эта пушрежисри -причина, вернее вышеупомянутый серт не поддерживает.
И нужен другой.
 попробуй в нетбинсе после якобы подписи и установки  в эмуле работает нормально(сообщение посылается через вма консоль на порт 10000).
Ну или нехзнаю...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)