5

I am trying to develope an android application who communicate with SIM card (Android 5.1.1). When using some methods (example : iccOpenLogicalChannel), they said in documentation that I should have carrier privileges app to use this method, i am wondering what they mean exactly ? May someone tell me how i can get "carrier privileges" ?

DGz
  • 109
  • 2
  • 6

2 Answers2

3

There are new APIs in 5.1.1 to allow carrier-developed apps, distributed through Google Play, to perform network provisioning tasks and other functions in the telephony system. Communicating directly with the network interface is now possible via an app with "carrier privileges."

As Google explains:

These APIs provide a secure and flexible way for carrier-developed apps to perform these tasks and be distributed through Google Play. Apps that use these functions must be signed by a certificate that matches the certificate in the device's Universal Integrated Circuit Card (UICC). The carrier service APIs have been added to the TelephonyManager class, the SmsManager class, and the new CarrierMessagingService class. Apps can check for access to these APIs by calling the hasCarrierPrivileges() method. Apps that call these APIs without access receive a SecurityException.

So far what I understand, the carrier privileges are set by the carrier operators and without the certification from the carrier you won't be able to access the methods.

Source: https://developer.android.com/about/versions/android-5.1.html

Prokash Sarkar
  • 11,723
  • 1
  • 37
  • 50
  • 1
    Thank you for answer, As i understand, I must signe the application by certificate that matches the certificate in the Sim card , my question is how to do it ? I have all informations that allow me to have carrier privileges , and i just want to impliment it. – DGz Jul 06 '15 at 09:46
  • What about with the use of root and or system permissions (having the app as system app) to force the system to think this is an app with carrier permissions? – Edw590 Dec 24 '20 at 02:15
3

To put it simply, you can not get a certificate that matches that of a certificate on a UICC/SIM. There are ways to work with the carriers to build applications. If you are interested please feel free to contact me I can guide you through it. I work for T-Mobile on the SIM team and am happy to help!

  • 1
    Thank you James, I will be happy too if you can help me , give me your adresse mail then i can contact you ;) – DGz Jul 09 '15 at 11:49