Вопрос

I have an application to send SMS with J2ME, I generate a JAR file and a signed JAD file, I can install and run my app with the JAR file, but I get the "untrusted midlet" message, and I can't send sms, when I try I get this exception : wma : open denied.

And when I try to install the app with the JAD file, i get the error message "authentication failed", this file is created with netbeans, and this is its content:

MIDlet-1: smsapp,/res/smsapp.png,ptfs.smsapp
MIDlet-Certificate-1-1: MIIBmzCCAQSgAwIBAgIET6fZJzANBgkqh.....
MIDlet-Jar-RSA-SHA1: Pd68O3nDyskfRQHeAo......
MIDlet-Jar-Size: 765890
MIDlet-Jar-URL: smsapp.jar
MIDlet-Name: smsapp
MIDlet-Permissions: javax.wireless.messaging.sms.send
MIDlet-Vendor: Vendor
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0

and this is my code to send the sms :

MessageConnection mc;
String addr = "sms://6666";
try{
   mc = (MessageConnection)Connector.open(addr);
}catch(Exception e){
   return;
}
try{
   TextMessage textmessage = (TextMessage)mc.newMessage(MessageConnection.TEXT_MESSAGE);
   textmessage.setAddress(addr);
   textmessage.setPayloadText(smsContent.getText());
   mc.send(textmessage);
}catch(Exception e){
   return;
}
try{
   if(mc != null)
       mc.close();
}catch(Exception e){
}

I am using the LG VU cell phone.

Это было полезно?

Решение

Rather than using NetBeans to sign it, use the free service @ http://www.j2start.com/p/sign-your-midlet.html, where you can sign it with a certificate that will be accepted by the phone.

Другие советы

I keep saying, someone please shoot James Gosling! Anyway, away from that, I've encountered a lot of these problems which unfortunately never have a simple way to solve.

A real MIDlet will usually have 3-4 certificates. Yours only has 1. There was a known issue on earlier versions of Symbian that allowed you to install your own custom-made certificate on the phone, but this should be AVOIDED if you're targeting real world devices. N/B:While signing, make sure to get rid of the 4th certificate since this trips up older phone models. P/S: Also using a set of trial and error, some requested permissions should be marked as 'Optional" instead.

Here's a sample of a working signed JAD file to guide you.

MIDlet-1: MetaDataControlMIDlet, , MetaDataControlMIDlet
MIDlet-2: RootMIDlet, , RootMIDlet
MIDlet-Certificate-1-1: MIIEEDCCAvigAwIBAgIQfFf6YfgWywo3cTLbwbgOuzANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMSQwIgYDVQQDExtUaGF3dGUgQ29kZSBTaWduaW5nIENBIC0gRzIwHhcNMTMwOTI1MDAwMDAwWhcNMTUwOTE2MjM1OTU5WjBmMQswCQYDVQQGEwJHSDEOMAwGA1UECBMFQWNjcmExEzARBgNVBAcUCkVhc3QtTGVnb24xGDAWBgNVBAoUD1NheWEgTW9iaWxlIEx0ZDEYMBYGA1UEAxQPU2F5YSBNb2JpbGUgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0zB2+fbxSIZYMK0MkXc7XweHwlCWLPrQVexa7B/XuN6d8l/7ob3DZVlDx7Dk5F+qw6uoJFGu+oCvIXGMNeDLz4ND0aZ47wOO0q6f7X4AvHuO8SAfV7fKoty/Lza2Qcl2dlu2LMqnfk5M0tYVGqhzWyQjKfpGqHWX7i6BiKFfsSkhy55y8byN+fpVC5GqgYjqtDjQ3nDpqAwsOBUld5WeChLpvSIq8GVIY7H8uahkyqWnGtJCP6UmjJHcNkNS2ERF34txIdH7gfqRRQsombMusdInVlgj3RUF+R6qE5JZdllMv7g0IScKgbbHIvzbMEGgfwiCx702q4+a6hn7wTD4twIDAQABo4HVMIHSMAwGA1UdEwEB/wQCMAAwOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NzLWcyLWNybC50aGF3dGUuY29tL1RoYXd0ZUNTRzIuY3JsMB8GA1UdJQQYMBYGCCsGAQUFBwMDBgorBgEEAYI3AgEWMB0GA1UdBAQWMBQwDjAMBgorBgEEAYI3AgEWAwIHgDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wEQYJYIZIAYb4QgEBBAQDAgQQMA0GCSqGSIb3DQEBBQUAA4IBAQBlOuYbX2Xd73J3uP4q0GohRqBGAu7GW7A/TvwIVni7u0WYRDfV3fS8QWUUVC+0KGfShswQ8sdUR7l0KtVF+qA5FGWpsS3N+nhH14FjyjQh8kiyDh74GmOvfeCmbN+5N5PEL6qGdD3PHkVvr6VVcXx0GpDF3cVjtpSY6jUGLU7mBQqu1j7zS1TzAUZANIhAwtMXcMMqitT3oMJTIqJdWJGxcvmPQXp3pxPj+rDv8xB++yD8E0q/2C/FUpe8RcYQNfH9P7Bw2tFpvosn5EBJfLW7/iPmQ5ln1OagJRl8+pa3heewn4ycjL8JcnhLBFcVFK6OsetZ+GvoXr0sX9exeYyw
MIDlet-Certificate-1-2: MIIEnDCCA4SgAwIBAgIQR5dNeHOlvKsNL7NwGS/OXjANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAwMjA3MjM1OTU5WjBKMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMSQwIgYDVQQDExtUaGF3dGUgQ29kZSBTaWduaW5nIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3i891W58l2n45sJPbONOpI9CC+ukkflwLjoP45npZ5qPFmKeZ0kT/AKalOQSK2imI6tui8xyZFSbCsfT84QxHqQkRBgogkrnHoASMXJQZq1slLB1ifnANzmFs3SuCyc5dSF/3wr68QSMeTyld10+89MUq/GPmfCZOmad5QZ4QSnp5ycaG94aV0ibOPBgq1nzOr82tu/eCLHAmN0XlD0cixgEovS6DXGqkR8Hn0NhrgUY/IRf1B8VDWqZnLLh7YBG1g+71dApycUQ9WP7oGqs4w1nbf244fXbHcmmYNpZX02Yc0lSRBC5UGbDcPbUiXobVKn4g313merFl/sUCTjEtAgMBAAGjggEcMIIBGDASBgNVHRMBAf8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UdDwEB/wQEAwIBBjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0ZS5jb20wHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFWZXJpU2lnbk1QS0ktMi0xMDAdBgNVHQ4EFgQU1A1lP3q9NMb+R+dMDcC98t4Vq3EwHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJKoZIhvcNAQEFBQADggEBAFb+U1zhx568p+1+U21qFEtRjEBegF+qpOgv7zjIBMnKPs/fOlhOsNS2Y8UpV/oCBZpFTWjbKhvUND2fAMNay5VJpW7hsMX8QU1BSm/Td8jXOI3kGd4Y8x8VZYNtRQxT+QqaLqVdv28ygRiSGWpVAK1jHFIGflXZKWiuSnwYmnmIayMj2Cc4KimHdsr7x7ZiIx/telZM3ZwyW/U9DEYYlTsqI2iDZEHZAG0PGSQVaHK9xXFnbqxM25DrUaUaYgfQvmoARzxyL+xPYT5zhc5aCre6wBwTdeMiOSjdbR0JRp1PuuhAgZHGpM6UchsBzypuFWeVia59t7fN+Qo9dbZrPCU=
MIDlet-Certificate-1-3: MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVowgakxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAyMDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnCd3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESUlI0CYm/rWt0RjSiaXISQEHoNvXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+680iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbVL5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5uKWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwEB/wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUe1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcNAQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSeCajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA=
MIDlet-Certificate-1-4: MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==
MIDlet-Jar-RSA-SHA1: g06Q83fr8h4hhqazd3jOThNORFlhWVo3lu+VzRv8aaEtQrMYkvZXR6fsKyNm7yR5+XaLYQ03F9yDMCOu2ZdAyScwmfzmnhtMLzT9cKJ8rq8hvYH4K9Q9j0iTUijnUJ7mEpWbJTYVQ858Ln6yyJerwk8hKAi++tsdlMwLv3gmq3W/QrnEDmT8vexBtBjhWOJTxkaNp89vb9gfa3bCg4pOYsEYoOLrHglXBkt0dy/IEnkxpUaCihBf7S+rUaZo0Y+Q8/qqadRl8khkzhpDyONSXzT4QKogA3nC0nAh4wKh3DTgxeSzZax57+QESCAfRaDExH2Oksu+ULVpgckoq+7Kmw==
MIDlet-Jar-Size: 9772
MIDlet-Jar-URL: SoundByte.jar
MIDlet-Name: SoundByte
MIDlet-Permissions: javax.microedition.io.Connector.comm, javax.microedition.io.Connector.file.read, javax.microedition.io.Connector.file.write, javax.microedition.media.control.RecordControl
MIDlet-Permissions-Opt: javax.microedition.content.ContentHandler
MIDlet-Vendor: Vendor
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top