Android 5.1 memperkenalkan mekanisme untuk memberikan hak istimewa khusus untuk API yang relevan dengan pemilik aplikasi universal integrated circuit card (UICC). Platform Android memuat sertifikat yang disimpan di UICC dan memberikan izin kepada aplikasi yang ditandatangani oleh sertifikat ini untuk melakukan panggilan ke sejumlah kecil API khusus.
Android 7.0 memperluas fitur ini untuk mendukung sumber penyimpanan lain untuk aturan hak istimewa operator UICC, sehingga secara signifikan meningkatkan jumlah operator yang dapat menggunakan API. Untuk referensi API, lihat CarrierConfigManager; untuk mengetahui petunjuknya, lihat Konfigurasi Operator.
Operator memiliki kontrol penuh atas UICC, sehingga mekanisme ini memberikan cara yang aman dan fleksibel untuk mengelola aplikasi dari operator jaringan seluler (MNO) yang dihosting di saluran distribusi aplikasi umum (seperti Google Play) sambil mempertahankan hak istimewa khusus di perangkat dan tanpa perlu menandatangani aplikasi dengan sertifikat platform per perangkat atau menginstal sebelumnya sebagai aplikasi sistem.
Aturan tentang UICC
Penyimpanan di UICC kompatibel dengan
spesifikasi Kontrol Akses Elemen Aman GlobalPlatform. ID aplikasi (AID) di kartu adalah A00000015141434C00
, dan perintah standar GET DATA
digunakan untuk mengambil aturan yang disimpan di kartu. Anda dapat memperbarui aturan ini melalui update over-the-air (OTA) kartu.
Hierarki data
Aturan UICC menggunakan hierarki data berikut (kombinasi huruf dan angka dua karakter dalam tanda kurung adalah tag objek). Setiap aturan adalah
REF-AR-DO
(E2
) dan terdiri dari gabungan
REF-DO
dan AR-DO
:
REF-DO
(E1
) berisiDeviceAppID-REF-DO
atau gabunganDeviceAppID-REF-DO
danPKG-REF-DO
.DeviceAppID-REF-DO
(C1
) menyimpan tanda tangan SHA-1 (20 byte) atau SHA-256 (32 byte) dari sertifikat.PKG-REF-DO
(CA
) adalah string nama paket lengkap yang ditentukan dalam manifes, berenkode ASCII, panjang maksimum 127 byte.
AR-DO
(E3
) diperluas untuk menyertakanPERM-AR-DO
(DB
), yang merupakan bit 8 byte mask yang merepresentasikan 64 izin terpisah.
Jika PKG-REF-DO
tidak ada, aplikasi apa pun yang ditandatangani oleh sertifikat akan diberi akses; jika tidak, sertifikat dan nama paket harus cocok.
Contoh aturan
Nama aplikasinya adalah com.google.android.apps.myapp
dan
sertifikat SHA-1 dalam string hex adalah:
AB:CD:92:CB:B1:56:B2:80:FA:4E:14:29:A6:EC:EE:B6:E5:C1:BF:E4
Aturan UICC dalam string hex adalah:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
Dukungan file aturan akses
Android 7.0 menambahkan dukungan untuk membaca aturan hak istimewa operator dari file aturan akses (ARF).
Platform Android pertama-tama mencoba memilih AID A00000015141434C00
aplikasi aturan akses (ARA). Jika tidak menemukan AID di UICC, aplikasi akan kembali ke ARF dengan memilih PKCS15 AID
A000000063504B43532D3135
. Kemudian, Android membaca
file aturan kontrol akses (ACRF) di 0x4300
dan mencari entri
dengan AID FFFFFFFFFFFF
. Entri dengan AID yang berbeda akan diabaikan, sehingga aturan untuk kasus penggunaan lain dapat berjalan bersamaan.
Contoh konten ACRF dalam string hex:
30 10 A0 08 04 06 FF FF FF FF FF FF 30 04 04 02 43 10
Contoh konten file kondisi kontrol akses (ACCF):
30 16 04 14 61 ED 37 7E 85 D3 86 A8 DF EE 6B 86 4B D8 5B 0B FA A5 AF 81
Dalam contoh di atas, 0x4310
adalah alamat untuk ACCF, yang
berisi hash sertifikat
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
. Aplikasi yang ditandatangani oleh sertifikat ini diberi hak istimewa operator.
API yang diaktifkan
Android mendukung API berikut.
TelephonyManager
- Metode untuk mengizinkan aplikasi operator meminta challenge/response UICC:
getIccAuthentication
. - Metode untuk memeriksa apakah aplikasi yang memanggil telah diberi hak istimewa operator:
hasCarrierPrivileges
. - Metode untuk mengganti merek dan nomor:
- Metode untuk komunikasi UICC langsung:
- Metode untuk menyetel mode perangkat ke global:
setPreferredNetworkTypeToGlobal
. - Metode untuk mendapatkan identitas perangkat atau jaringan:
- International Mobile Equipment Identity (IMEI):
getImei
- Mobile Equipment Identifier (MEID):
getMeid
- Network Access Identifier (NAI):
getNai
- Nomor seri SIM:
getSimSerialNumber
- International Mobile Equipment Identity (IMEI):
- Metode untuk mendapatkan konfigurasi operator:
getCarrierConfig
- Metode untuk mendapatkan jenis jaringan untuk transmisi data:
getDataNetworkType
- Metode untuk mendapatkan jenis jaringan untuk layanan suara:
getVoiceNetworkType
- Metode untuk mendapatkan informasi tentang aplikasi SIM UICC (USIM):
- Nomor seri SIM:
getSimSerialNumber
- Informasi kartu:
getUiccCardsInfo
- GID1 (ID grup level 1):
getGroupIdLevel1
- String nomor telepon untuk baris 1:
getLine1Number
- Jaringan seluler publik (PLMN) yang dilarang:
getForbiddenPlmns
- PLMN rumah setara:
getEquivalentHomePlmns
- Nomor seri SIM:
- Metode untuk mendapatkan atau menyetel nomor pesan suara:
- Metode untuk mengirim kode dialer khusus:
sendDialerSpecialCode
- Metode untuk mereset modem radio:
rebootModem
- Metode untuk mendapatkan atau menyetel mode pemilihan jaringan:
- Metode untuk meminta pemindaian jaringan:
requestNetworkScan
- Metode untuk mendapatkan atau menyetel jenis jaringan yang diizinkan/disukai:
- Metode untuk memeriksa apakah data seluler atau roaming diaktifkan per setelan pengguna:
- Metode untuk memeriksa atau menyetel koneksi data dengan alasan:
- Metode untuk mendapatkan daftar nomor darurat:
getEmergencyNumberList
- Metode untuk mengontrol jaringan oportunistik:
- Metode untuk menyetel atau menghapus permintaan update kekuatan sinyal seluler:
TelephonyCallback
TelephonyCallback
memiliki antarmuka dengan metode callback untuk
memberi tahu aplikasi pemanggil saat status terdaftar berubah:
- Indikator pesan menunggu berubah:
onMessageWaitingIndicatorChanged
- Indikator penerusan panggilan berubah:
onCallForwardingIndicatorChanged
- Penyebab terputusnya panggilan sistem multimedia IP (IMS) berubah:
onImsCallDisconnectCauseChanged
- Status koneksi data yang tepat berubah:
onPreciseDataConnectionStateChanged
- Daftar nomor darurat saat ini berubah:
onEmergencyNumberListChanged
- ID langganan data aktif berubah:
onActiveDataSubscriptionIdChanged
- Jaringan operator berubah:
onCarrierNetworkChange
- Pendaftaran jaringan atau pembaruan area lokasi/perutean/pelacakan gagal:
onRegistrationFailed
- Perubahan informasi pemblokiran:
onBarringInfoChanged
- Konfigurasi saluran fisik saat ini berubah:
onPhysicalChannelConfigChanged
SubscriptionManager
- Metode untuk mendapatkan berbagai informasi langganan:
- Metode untuk mendapatkan jumlah langganan aktif:
getActiveSubscriptionInfoCount
- Metode untuk mengelola grup langganan:
- Metode untuk mendapatkan atau menyetel deskripsi paket hubungan penagihan antara operator dan pelanggan tertentu:
- Metode untuk mengganti sementara paket hubungan penagihan antara
operator dan pelanggan tertentu agar dianggap tidak terukur:
setSubscriptionOverrideUnmetered
- Metode untuk mengganti sementara rencana hubungan penagihan antara
operator dan pelanggan tertentu agar dianggap padat:
setSubscriptionOverrideCongested
- Metode untuk memeriksa apakah aplikasi dengan konteks tertentu diizinkan untuk mengelola langganan tertentu sesuai dengan metadatanya:
canManageSubscription
SmsManager
- Metode untuk mengizinkan pemanggil membuat pesan SMS masuk baru:
injectSmsPdu
. - Metode untuk mengirim pesan SMS berbasis teks tanpa menulis ke penyedia
SMS:
sendTextMessageWithoutPersisting
CarrierConfigManager
- Metode untuk memberi tahu perubahan konfigurasi:
notifyConfigChangedForSubId
. - Metode untuk mendapatkan konfigurasi operator untuk langganan default:
getConfig
- Metode untuk mendapatkan konfigurasi operator untuk langganan yang ditentukan:
getConfigForSubId
Untuk mengetahui petunjuknya, lihat Konfigurasi Operator.
BugreportManager
Metode untuk memulai laporan bug konektivitas, yang merupakan versi khusus dari
laporan bug yang hanya menyertakan informasi untuk men-debug masalah terkait
konektivitas:
startConnectivityBugreport
NetworkStatsManager
- Metode untuk membuat kueri ringkasan penggunaan jaringan:
querySummary
- Metode untuk membuat kueri histori penggunaan jaringan:
queryDetails
- Metode untuk mendaftarkan atau membatalkan pendaftaran callback penggunaan jaringan:
ImsMmTelManager
- Metode untuk mendaftarkan atau membatalkan pendaftaran callback pendaftaran MmTel IMS:
ImsRcsManager
- Metode untuk mendaftarkan atau membatalkan pendaftaran callback pendaftaran IMS RCS:
- Metode untuk mendapatkan status pendaftaran IMS atau jenis transportasi:
ProvisioningManager
- Metode untuk mendaftarkan dan membatalkan pendaftaran callback update penyediaan fitur IMS:
- Metode yang terkait dengan status penyediaan untuk kemampuan IMS MmTel atau RCS:
EuiccManager
Metode untuk beralih ke (mengaktifkan) langganan tertentu:
switchToSubscription
CarrierMessagingService
Layanan yang menerima panggilan dari sistem saat SMS dan MMS baru dikirim atau diterima. Untuk memperluas class ini, deklarasikan layanan di file manifes Anda dengan izin android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
dan sertakan filter intent dengan tindakan #SERVICE_INTERFACE
. Metodenya meliputi:
- Metode untuk memfilter pesan SMS masuk:
onFilterSms
- Metode untuk mencegat pesan SMS teks yang dikirim dari perangkat:
onSendTextSms
- Metode untuk mencegat pesan SMS biner yang dikirim dari perangkat:
onSendDataSms
- Metode untuk mencegat pesan SMS panjang yang dikirim dari perangkat:
onSendMultipartTextSms
- Metode untuk mencegat pesan MMS yang dikirim dari perangkat:
onSendMms
- Metode untuk mendownload pesan MMS yang diterima:
onDownloadMms
CarrierService
Layanan yang mengekspos fungsi khusus operator ke sistem. Untuk
memperluas class ini, deklarasikan layanan dalam file manifes aplikasi dengan izin
android.Manifest.permission#BIND_CARRIER_SERVICES
dan
sertakan filter intent dengan tindakan CARRIER_SERVICE_INTERFACE
.
Jika layanan memiliki binding yang berjalan lama, tetapkan
android.service.carrier.LONG_LIVED_BINDING
ke
true
dalam metadata layanan.
Platform mengikat CarrierService
dengan tanda khusus agar layanan operator dapat berjalan di
bucket siaga aplikasi khusus. Hal ini mengecualikan aplikasi layanan operator dari
pembatasan aplikasi menganggur dan membuatnya lebih mungkin tetap aktif saat memori
perangkat hampir habis. Namun, jika aplikasi layanan operator mengalami error karena alasan apa pun,
aplikasi tersebut akan kehilangan semua hak istimewa di atas hingga aplikasi dimulai ulang dan binding
dibuat ulang. Jadi, penting untuk menjaga kestabilan aplikasi layanan operator.
Metode di CarrierService
meliputi:
- Untuk mengganti dan menetapkan konfigurasi spesifik operator:
onLoadConfig
- Untuk memberi tahu sistem tentang perubahan jaringan operator yang akan datang dan disengaja oleh
aplikasi operator:
notifyCarrierNetworkChange
Penyedia layanan telepon
API penyedia konten untuk mengizinkan modifikasi (penyisipan, penghapusan, pembaruan, kueri)
ke database teleponi. Kolom nilai ditentukan di
Telephony.Carriers
; untuk mengetahui detail selengkapnya, lihat
referensi class Telephony
WifiNetworkSuggestion
Saat membuat objek WifiNetworkSuggestion
, gunakan metode berikut untuk menetapkan ID langganan atau grup langganan:
- Metode untuk menetapkan ID langganan:
setSubscriptionId
- Metode untuk menyetel grup langganan:
setSubscriptionGroup
Platform Android
Pada UICC yang terdeteksi, platform membuat objek UICC internal yang
mencakup aturan hak istimewa operator sebagai bagian dari UICC.
UiccCarrierPrivilegeRules.java
memuat aturan, menguraikannya dari kartu UICC, dan menyimpannya dalam cache di memori. Saat
pemeriksaan hak istimewa diperlukan, UiccCarrierPrivilegeRules
membandingkan
sertifikat pemanggil dengan aturannya sendiri satu per satu. Jika UICC dihapus, aturan akan dihapus bersama dengan objek UICC.
Validasi
Untuk memvalidasi penerapan melalui
Compatibility Test Suite (CTS) menggunakan CtsCarrierApiTestCases.apk
,
Anda harus memiliki UICC developer dengan aturan UICC yang benar atau dukungan ARF.
Minta vendor kartu SIM pilihan Anda untuk menyiapkan UICC developer dengan
ARF yang tepat seperti yang dijelaskan di bagian ini dan gunakan UICC tersebut untuk menjalankan pengujian. UICC tidak memerlukan layanan seluler aktif untuk lulus pengujian CTS.
Menyiapkan UICC
Untuk Android 11 dan yang lebih rendah, CtsCarrierApiTestCases.apk
ditandatangani oleh aosp-testkey
, dengan nilai hash 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
.
Mulai Android 12, CtsCarrierApiTestCases.apk
ditandatangani oleh cts-uicc-2021-testkey
, nilai hash CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
.
Untuk menjalankan pengujian API operator CTS di Android 12, perangkat harus menggunakan SIM dengan hak istimewa operator CTS yang memenuhi persyaratan yang ditentukan dalam spesifikasi versi terbaru dari Profil Pengujian GSMA TS.48 pihak ketiga.
SIM yang sama juga dapat digunakan untuk versi sebelum Android 12.
Mengubah profil SIM CTS
- Menambahkan: Hak istimewa operator CTS di
Access Rule Application Master (ARA-M) atau ARF. Kedua tanda tangan harus
dienkode dalam aturan hak istimewa operator:
- Hash1(SHA1):
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Hash2(SHA256):
CE:7B:2B:47:AE:2B:75:52:C8:F9:2C:C2:91:24:27:98:83:04:1F:B6:23:A5:F1:94:A8:2C:9B:F1:5D:49:2A:A0
- Hash1(SHA1):
- Buat: File elemen (EF) USIM ADF tidak ada di
TS.48 dan diperlukan untuk CTS:
- EF_MBDN (6FC7), ukuran rekaman: 28, nomor rekaman: 4
- Konten
- Rec1: 566F696365204D61696CFFFFFFFF06915155555555FF…FF
- Rec2-n: FF…FF
- Konten
- EF_EXT6 (6FC8), ukuran data:13, jumlah data: 1
- Konten: 00FF…FF
- EF_MBI (6FC9), ukuran rekaman: 4, jumlah rekaman: 1
- Konten: Rec1: 01010101
- EF_MWIS (6FCA), ukuran rekaman: 5, jumlah rekaman: 1
- Konten: 0000000000
- Konten: 00FF…FF
- EF_MBDN (6FC7), ukuran rekaman: 28, nomor rekaman: 4
- Ubah: Tabel layanan USIM: Aktifkan layanan n°47, n°48
- EF_UST (6F38)
- Konten:
9EFFBF1DFFFE0083410310010400406E01
- Konten:
- EF_UST (6F38)
- Ubah: File DF-5GS dan DF-SAIP
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- Konten:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- Konten:
- DF-5GS - EF_5GSN3GPPLOCI (USIM/5FC0/4F02)
- Konten:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- Konten:
- DF-5GS - EF SUCI_Calc_Info (USIM/5FC0/4F07)
- Konten:
A0020000FF…FF
- Konten:
- DF-SAIP - EF SUCI_Calc_Info_USIM (USIM/5FD0/4F01)
- Konten:
A0020000FF…FF
- Konten:
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- Ubah: Gunakan string nama operator Android CTS
di EF masing-masing yang berisi sebutan ini:
- EF_SPN (USIM/6F46)
- Konten:
01416E64726F696420435453FF..FF
- Konten:
- EF_PNN (USIM/6FC5)
- Konten:
Rec1 430B83413759FE4E934143EA14FF..FF
- Konten:
- EF_SPN (USIM/6F46)
Mencocokkan struktur profil pengujian
Download dan cocokkan versi terbaru struktur profil pengujian generik berikut. Profil ini tidak akan memiliki aturan CTS Carrier Privilege yang dipersonalisasi atau modifikasi lain yang tercantum di atas.
Menjalankan pengujian
Untuk mempermudah, CTS mendukung token perangkat yang membatasi
pengujian agar hanya berjalan di perangkat yang dikonfigurasi dengan token yang sama. Pengujian CTS Carrier API mendukung token perangkat sim-card-with-certs
. Misalnya,
token perangkat berikut membatasi pengujian API operator agar hanya berjalan di perangkat
abcd1234
:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
Saat menjalankan pengujian tanpa menggunakan token perangkat, pengujian akan berjalan di semua perangkat.
FAQ
Bagaimana cara memperbarui sertifikat di UICC?
J: Gunakan mekanisme update OTA kartu yang ada.
Dapatkah UICC berdampingan dengan aturan lain?
J: Tidak masalah jika ada aturan keamanan lain di UICC dengan AID yang sama; platform akan memfilternya secara otomatis.
Apa yang terjadi jika UICC dihapus untuk aplikasi yang mengandalkan sertifikat di dalamnya?
J: Aplikasi kehilangan hak istimewanya karena aturan yang terkait dengan UICC dihapus saat UICC dikeluarkan.
Apakah ada batas jumlah sertifikat di UICC?
J: Platform tidak membatasi jumlah sertifikat; tetapi karena pemeriksaan bersifat linear, terlalu banyak aturan dapat menimbulkan latensi untuk pemeriksaan.
Apakah ada batasan jumlah API yang dapat kami dukung dengan metode ini?
J: Tidak, tetapi kami membatasi cakupan ke API terkait operator.
Apakah ada beberapa API yang dilarang menggunakan metode ini? Jika ya, bagaimana cara Anda memberlakukannya? (yaitu, apakah Anda memiliki pengujian untuk memvalidasi API mana yang didukung dengan metode ini?)
J: Lihat bagian Kompatibilitas Perilaku API dalam Dokumen Definisi Kompatibilitas (CDD) Android. Kami memiliki beberapa pengujian CTS untuk memastikan bahwa model izin API tidak berubah.
Bagaimana cara kerjanya dengan fitur multi-SIM?
J: SIM default yang ditentukan oleh pengguna akan digunakan.
Apakah teknologi ini berinteraksi atau tumpang-tindih dengan teknologi akses SE lainnya, misalnya, SEEK?
J: Sebagai contoh, SEEK menggunakan AID yang sama seperti pada UICC. Jadi, aturan
berada bersama dan difilter oleh SEEK atau
UiccCarrierPrivileges
.
Kapan waktu yang tepat untuk memeriksa hak istimewa operator?
J: Setelah siaran status SIM dimuat.
Dapatkah OEM menonaktifkan sebagian API operator?
J: Tidak. Kami yakin bahwa API saat ini adalah set minimal, dan kami berencana menggunakan mask bit untuk kontrol perincian yang lebih baik pada masa mendatang.
Apakah setOperatorBrandOverride
menggantikan SEMUA bentuk string nama operator lainnya? Misalnya, SE13, UICC SPN, atau NITZ berbasis jaringan?
Ya, penggantian merek operator memiliki prioritas tertinggi. Jika disetel, setelan ini akan menggantikan SEMUA bentuk string nama operator lainnya.
Apa fungsi panggilan metode injectSmsPdu
?
J: Metode ini memfasilitasi pencadangan/pemulihan SMS di cloud. Panggilan
injectSmsPdu
mengaktifkan fungsi pemulihan.
Untuk pemfilteran SMS, apakah panggilan onFilterSms
didasarkan pada
pemfilteran port UDH SMS? Atau, apakah aplikasi operator memiliki akses ke SEMUA SMS masuk?
J: Operator memiliki akses ke semua data SMS.
Ekstensi DeviceAppID-REF-DO
untuk mendukung
32 byte tampaknya tidak
kompatibel dengan spesifikasi GP saat ini (yang hanya mengizinkan 0 atau 20 byte), jadi mengapa
Anda memperkenalkan perubahan ini? Bukankah SHA-1 sudah cukup untuk menghindari konflik? Apakah Anda sudah mengusulkan perubahan ini kepada GP, karena perubahan ini mungkin tidak kompatibel dengan ARA-M/ARF yang ada?
J: Untuk memberikan keamanan yang siap menghadapi masa depan, ekstensi ini memperkenalkan SHA-256 untuk DeviceAppID-REF-DO
selain SHA-1, yang saat ini merupakan satu-satunya opsi dalam standar GP SEAC. Sebaiknya gunakan SHA-256.
Jika DeviceAppID
adalah 0 (kosong), apakah Anda menerapkan aturan ke semua aplikasi perangkat yang tidak tercakup oleh aturan tertentu?
J: API Operator memerlukan DeviceAppID-REF-DO
diisi.
Dikosongkan untuk tujuan pengujian dan tidak direkomendasikan untuk deployment operasional.
Menurut spesifikasi Anda, PKG-REF-DO
yang digunakan sendiri, tanpa DeviceAppID-REF-DO
, tidak boleh diterima. Namun,
masih dijelaskan dalam Tabel 6-4 spesifikasi sebagai perluasan
definisi REF-DO
. Apakah ini disengaja? Bagaimana perilaku kode
saat hanya PKG-REF-DO
yang digunakan di REF-DO
?
J: Opsi untuk memiliki PKG-REF-DO
sebagai item
nilai tunggal dalam REF-DO
dihapus di versi terbaru.
PKG-REF-DO
hanya boleh muncul bersama dengan
DeviceAppID-REF-DO
.
Kami mengasumsikan bahwa kami dapat memberikan akses ke semua izin berbasis operator atau memiliki kontrol yang lebih terperinci. Jika ya, apa yang menentukan pemetaan antara mask bit dan izin sebenarnya? Satu izin per kelas? Satu izin per metode? Apakah 64 izin terpisah sudah cukup dalam jangka panjang?
J: Fitur ini disediakan untuk masa mendatang, dan kami menerima saran.
Dapatkah Anda menjelaskan lebih lanjut DeviceAppID
untuk Android secara khusus? Ini adalah nilai hash SHA-1 (20 byte) dari sertifikat Penerbit yang digunakan untuk menandatangani aplikasi tertentu, jadi bukankah nama tersebut harus mencerminkan tujuan itu? (Nama tersebut dapat membingungkan banyak pembaca karena aturan tersebut kemudian
berlaku untuk semua aplikasi yang ditandatangani dengan sertifikat Penerbit yang sama.)
J: Penyimpanan sertifikat DeviceAppID
didukung oleh
spesifikasi yang ada. Kami mencoba meminimalkan perubahan spesifikasi untuk menurunkan hambatan
adopsi. Untuk mengetahui detailnya, lihat Aturan di UICC.