Home › What is Java Verified?

What is Java Verified?

Java Verified is the industry-recognised Java testing and signing programme. 

Developers take their Java ME apps through a testing, signing and verification process through the Java Verified Submissions portal.

If their apps meets the testing criteria, they'll gain the Java Verified seal of approval.

Without the Java Verified approval, there's no guarantee that an app won't work. More explicitly, the Java Verified endorsement shows the world that an app does work.

Why is it needed?

The need for mobile apps to reach a certain, industry-accepted level of quality has increased dramatically over the past couple of years.

And this applies to all apps, irrespective of their simplicity or complexity.

You wouldn't buy a product from an established retailer if you thought there was a risk that it hadn't gone through rigorous QA would you?

Neither would we.

Since 2004, every Java ME app that's gained the Java Verified accreditation has reached or surpassed the level of quality considered to be the industry standard.

Getting your Java ME apps Java Verified is pretty vital, whether you're an independent developer, aggregator or publisher, and whether you're selling apps to the carriers or device manufacturers, or to another business.

Why sign?

Application signing is a step in the process for application validation.  
It’s a stamp of approval that will give applications that are signed an edge over the unsigned application.

Signing is a simple process that all application providers should consider to protect themselves, their brand, and their customers.
Signing applications ensures:

  • Identity
  • Integrity
  • Functionality
  • Quality

Identity:  An application signed by Java Verified is tied irrevocably to the developer of that application.  The code signing certificate contains information that will allow the consumer to see who created the application.  As the application is installed, the Customer will be made aware the source comes from a trusted entity, instead of receiving an ‘Untrusted Source’ message.

Integrity:  Once an application is signed, it contains a unique signature that cannot be changed.  This signature is like a fingerprint that ties that signature to the application.  A developer is protected knowing that once an application has been signed, it cannot be altered without invalidating the signature.  This way the developer and the customer know the build, unaltered from the developer.

Functionality:  Signed Applications are exposed to additional capabilities with a limited amount of prompting.  Because the Identity of the Developer and the Integrity of the application are ensured, the execution environment can allow the application to run with higher privileges.  This means the application will have access to additional capabilities that unsigned applications do not have access to, and the customer will not be exhaustively prompted for permissions.

Quality: Finally, the test cases associated with the Java Verified program ensure that an application has passed basic functional testing and will work on the intended devices.  Adherence to the requirements within the Unified Test Criteria will help the developer know that application works as expected.

In a world where there are many developers, and many more applications all vying for attention of the customer, do you want to give up the one shot to become visible by having an application that fails?

What is the AQuA testing criteria for JAVA ME?

Specifically, it's a 'living and breathing' document devised and revised by past and present Java Verified members (AT&T, LG, Motorola, Nokia, Oracle, Orange, Samsung, SonyEricsson, Vodafone) containing a common set of tests against which apps must be tested before they can be considered to be eligible for the Java Verified endorsement.

You should not consider distributing your applications if they don't meet this requirement as this set of tests contained within the document will be used by your chosen test house to test your app.

We suggest you download the latest version of the AQuA Testing Criteria for JAVA ME read it and feel confident that your apps will pass, before you submit them to Java Verified for testing and signing.

The Testing Criteria defines and explains the tests which relate to:
Application Launch, User Interface, Localisation, Functionality, Connectivity, Personal Information Management and Security.

The Testing Criteria also includes tests for Simple Apps.  Please ensure you download the latest version from the Relevant resources section at the top of this page.

The set of tests was deemed broad enough, but not so specific as to favour one device over the other. By restricting the tests to apps written in the Java™ ME programming language, it was possible to ignore device-specific features.

A set of test houses has been approved by Java Verified to test developers' apps against the criteria and 'pass' or 'fail' the apps accordingly.

How is it all funded?

Developers pay to go through the Java Verified process.
The money goes straight to the test houses (direct) and the people running the signing portal. 

The money doesn't go to Java Verified.

For example, a developer purchases a Publisher ID from Symantec (the guys who run the Java Verified Submission portal).

The developer pays for the testing of his app(s) straight to the test house with whom they have the relationship. Even the cost of the testing is negotiated between the developer and his chosen test house. Java Verified has nothing to do with this.

The funds from the AQuA members - AT&T, LG, Motorola, Nokia, Oracle, Samsung and others - pay for the administration of the programme, the website, the signing portal and any activities dedicated to promoting use of the programme. These members of AQuA are responsible for ensuring they're happy with how their companies' money is being spent, and regular accounts are available to the members to review at any time.

The members develop new testing criteria against which developers can test their apps. They also constantly look at introducing new ways of making testing easier and cheaper for developers. 

An example of this is the introduction of tests for Simple Apps: apps not using network connectivity or asking for privileged access to consumer information  Find out more.

The members also develop white papers and documents to make things as clear as possible, and pass on hints and tips based on what they're finding in the daily working lives.

This is all done voluntarily. It's done by a core group of people from the Java Verified membership.

And yes, any enquiries that come into us here at Java Verified are all manned by these same people.  Real people!

What will it cost me?

First of all you'll need to buy a Publisher ID from Symantec (the people who run the Submission Portal).

The cost for this is 200 USD per company, and the Publisher ID lasts a year.

If you want to test your applications as if they were signed, use an R&D Signature which can be obtained through the Submission Portal.

There is no cost for this.

When you are sure that your application complies with the appropriate tests within the Unified Testing Criteria you can send it off to the test house for testing via the Submission Portal.

The cost for this varies depending on which test house you use, the complexity of your app, and whether you're submitting it for testing or re-testing.
It'll probably cost you on average 75 euros for a Simple App, and somewhere between 150 euros and 250 euros per app for a more complex app.

There are test houses approved for Java Verified testing. 
See the testing section for details of who they are. 
They each offer a slightly different type and style of service, and slightly different pricing structures.   

Updated : Trusted Status is now available for existing Java Verified developers to apply for - a status for certain developers who prove that their apps reach a certain quality level. 
Please read about it and apply if it's for you.


The Java Verified signing is included in the cost of the testing and done after your application passes the testing. 

Therefore, there is no additional cost for this.

Everything you pay is paid direct to the vendors involved. 

Java Verified takes none of the money.