Android 5.1, evrensel entegre devre kartı (UICC) uygulamalarının sahipleriyle alakalı API'lere özel ayrıcalıklar verme mekanizması sunmuştur. Android platformu, UICC'de depolanan sertifikaları yükler ve bu sertifikalar tarafından imzalanan uygulamalara birkaç özel API'ye çağrı yapma izni verir.
Android 7.0, bu özelliği UICC operatör ayrıcalığı kuralları için diğer depolama kaynaklarını destekleyecek şekilde genişleterek API'leri kullanabilen operatörlerin sayısını önemli ölçüde artırdı. API referansı için CarrierConfigManager'a, talimatlar için Carrier Configuration'a bakın.
Operatörler, UICC üzerinde tam kontrole sahiptir. Bu nedenle bu mekanizma, cihazlarda özel ayrıcalıkları korurken ve uygulamaları cihaz başına platform sertifikasıyla imzalama veya sistem uygulaması olarak önceden yükleme gerekmeden genel uygulama dağıtım kanallarında (Google Play gibi) barındırılan mobil ağ operatöründen (MNO) uygulamaları yönetmenin güvenli ve esnek bir yolunu sunar.
UICC ile ilgili kurallar
UICC'deki depolama alanı,
GlobalPlatform
Secure Element Access Control spesifikasyonu ile uyumludur. Karttaki uygulama tanımlayıcısı (AID) A00000015141434C00
'tür ve kartta depolanan kuralları almak için standart GET DATA
komutu kullanılır. Bu kuralları, kartın kablosuz (OTA) güncellemeleri aracılığıyla güncelleyebilirsiniz.
Veri hiyerarşisi
UICC kuralları aşağıdaki veri hiyerarşisini kullanır (parantez içindeki iki karakterli harf ve sayı kombinasyonu, nesne etiketidir). Her kural REF-AR-DO
(E2
) şeklindedir ve REF-DO
ile AR-DO
'ın bir birleşiminden oluşur:
REF-DO
(E1
),DeviceAppID-REF-DO
veyaDeviceAppID-REF-DO
ilePKG-REF-DO
'in bir birleşimini içeriyor.DeviceAppID-REF-DO
(C1
), sertifikanın SHA-1 (20 bayt) veya SHA-256 (32 bayt) imzasını saklar.PKG-REF-DO
(CA
), manifestte tanımlanan, ASCII kodlu, en fazla 127 bayt uzunluğunda tam paket adı dizesidir.
AR-DO
(E3
), 64 ayrı izni temsil eden 8 baytlık bir bit maskesi olanPERM-AR-DO
(DB
) içerecek şekilde genişletilir.
PKG-REF-DO
yoksa sertifika tarafından imzalanan tüm uygulamalara erişim izni verilir. Aksi takdirde hem sertifikanın hem de paket adının eşleşmesi gerekir.
Kural örneği
Uygulama adı com.google.android.apps.myapp
ve onaltılık dizedeki SHA-1 sertifikası:
AB:CD:92:CB:B1:56:B2:80:FA:4E:14:29:A6:EC:EE:B6:E5:C1:BF:E4
On altılık dizedeki UICC kuralı:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
Erişim kuralı dosyası desteği
Android 7.0, erişim kuralı dosyasından (ARF) operatör ayrıcalığı kurallarını okuma desteği ekler.
Android platformu, önce erişim kuralı uygulaması (ARA) AID A00000015141434C00
'yi seçmeye çalışır. UICC'de AID'yi bulamazsa PKCS15 AID'yi A000000063504B43532D3135
seçerek ARF'ye geri döner. Ardından Android, 0x4300
adresindeki erişim denetimi kuralları dosyasını (ACRF) okur ve FFFFFFFFFFFF
AID'sine sahip girişleri arar. Farklı AID'lere sahip girişler yoksayılır. Bu nedenle, diğer kullanım alanlarına yönelik kurallar birlikte var olabilir.
Onaltılık dizedeki örnek ACRF içeriği:
30 10 A0 08 04 06 FF FF FF FF FF FF 30 04 04 02 43 10
Örnek erişim denetimi koşulları dosyası (ACCF) içeriği:
30 16 04 14 61 ED 37 7E 85 D3 86 A8 DF EE 6B 86 4B D8 5B 0B FA A5 AF 81
Yukarıdaki örnekte 0x4310
, sertifika karmasını 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
içeren ACCF adresidir. Bu sertifika tarafından imzalanan uygulamalara operatör ayrıcalıkları verilir.
Etkin API'ler
Android aşağıdaki API'leri destekler.
TelephonyManager
- Operatör uygulamasının UICC'den istek/yanıt istemesine izin verme yöntemi:
getIccAuthentication
. - Arama uygulamasına operatör ayrıcalıklarının verilip verilmediğini kontrol etme yöntemi:
hasCarrierPrivileges
. - Markayı ve numarayı geçersiz kılma yöntemleri:
- Doğrudan UICC iletişimi için yöntemler:
- Cihaz modunu genel olarak ayarlama yöntemi:
setPreferredNetworkTypeToGlobal
. - Cihaz veya ağ kimliklerini alma yöntemleri:
- Uluslararası Mobil Cihaz Kimliği (IMEI):
getImei
- Mobil Cihaz Kimliği (MEID):
getMeid
- Ağ Erişim Tanımlayıcısı (NAI):
getNai
- SIM seri numarası:
getSimSerialNumber
- Uluslararası Mobil Cihaz Kimliği (IMEI):
- Operatör yapılandırmasını alma yöntemi:
getCarrierConfig
- Veri aktarımı için ağ türünü alma yöntemi:
getDataNetworkType
- Sesli hizmetin ağ türünü alma yöntemi:
getVoiceNetworkType
- UICC SIM (USIM) uygulamasıyla ilgili bilgileri alma yöntemleri:
- SIM seri numarası:
getSimSerialNumber
- Kart bilgileri:
getUiccCardsInfo
- GID1 (grup kimliği 1. düzey):
getGroupIdLevel1
- 1. satır için telefon numarası dizesi:
getLine1Number
- Yasaklanmış herkese açık karasal mobil ağ (PLMN):
getForbiddenPlmns
- Eşdeğer ana PLMN:
getEquivalentHomePlmns
- SIM seri numarası:
- Sesli mesaj numarasını alma veya ayarlama yöntemleri:
- Özel çevirici kodu gönderme yöntemi:
sendDialerSpecialCode
- Radyo modemi sıfırlama yöntemi:
rebootModem
- Ağ seçim modlarını alma veya ayarlama yöntemleri:
- Ağ taraması isteme yöntemi:
requestNetworkScan
- İzin verilen/tercih edilen ağ türlerini alma veya ayarlama yöntemleri:
- Mobil verinin veya dolaşımın kullanıcı ayarlarına göre etkin olup olmadığını kontrol etme yöntemleri:
- Veri bağlantısını nedeniyle birlikte kontrol etme veya ayarlama yöntemleri:
- Acil durum numarası listesini alma yöntemi:
getEmergencyNumberList
- Fırsatçı ağları kontrol etme yöntemleri:
- Hücresel sinyal gücü güncelleme isteğini ayarlama veya temizleme yöntemleri:
TelephonyCallback
TelephonyCallback
, kayıtlı durumlar değiştiğinde arayan uygulamayı bilgilendirmek için geri çağırma yöntemi içeren arayüzlere sahiptir:
- Mesaj bekleme göstergesi değişti:
onMessageWaitingIndicatorChanged
- Arama yönlendirme göstergesi değişti:
onCallForwardingIndicatorChanged
- IP multimedya sistemi (IMS) aramasının bağlantısının kesilme nedeni değişti:
onImsCallDisconnectCauseChanged
- Kesin veri bağlantısı durumu değişti:
onPreciseDataConnectionStateChanged
- Mevcut acil durum numarası listesi değişti:
onEmergencyNumberListChanged
- Etkin veri aboneliği kimliği değişti:
onActiveDataSubscriptionIdChanged
- Operatör ağı değişti:
onCarrierNetworkChange
- Ağ kaydı veya konum/yönlendirme/takip alanı güncellemesi başarısız oldu:
onRegistrationFailed
- Engelleme bilgileri değişikliği:
onBarringInfoChanged
- Mevcut fiziksel kanal yapılandırması değişti:
onPhysicalChannelConfigChanged
SubscriptionManager
- Çeşitli abonelik bilgilerini alma yöntemleri:
- Etkin aboneliklerin sayısını alma yöntemi:
getActiveSubscriptionInfoCount
- Abonelik gruplarını yönetme yöntemleri:
- Bir operatör ile belirli bir abone arasındaki faturalandırma ilişkisi planının açıklamasını alma veya ayarlama yöntemleri:
- Bir operatör ile belirli bir abone arasındaki faturalandırma ilişkisi planını geçici olarak geçersiz kılma yöntemi (sınırsız olarak kabul edilir):
setSubscriptionOverrideUnmetered
- Bir operatör ile belirli bir abone arasındaki faturalandırma ilişkisi planını geçici olarak geçersiz kılma yöntemi (yoğun olarak kabul edilecek):
setSubscriptionOverrideCongested
- Belirli bir bağlama sahip uygulamanın, belirli bir aboneliği meta verilerine göre yönetme yetkisine sahip olup olmadığını kontrol etme yöntemi:
canManageSubscription
SmsManager
- Arayanın yeni gelen SMS mesajları oluşturmasına izin verme yöntemi:
injectSmsPdu
. - SMS sağlayıcıya yazmadan metin tabanlı SMS mesajı gönderme yöntemi:
sendTextMessageWithoutPersisting
CarrierConfigManager
- Yapılandırma değişikliğini bildirme yöntemi:
notifyConfigChangedForSubId
. - Varsayılan abonelik için operatör yapılandırmasını alma yöntemi:
getConfig
- Belirtilen abonelik için operatör yapılandırmasını alma yöntemi:
getConfigForSubId
Talimatlar için Operatör Yapılandırması başlıklı makaleyi inceleyin.
BugreportManager
Hata raporunun yalnızca bağlantıyla ilgili sorunları hata ayıklamayla ilgili bilgileri içeren özel bir sürümü olan bağlantı hata raporunu başlatma yöntemi:
startConnectivityBugreport
NetworkStatsManager
- Ağ kullanımı özetini sorgulamak için kullanılan yöntem:
querySummary
- Ağ kullanımı geçmişini sorgulamak için yöntem:
queryDetails
- Ağ kullanımı geri çağırma özelliğini kaydetme veya kaydını silme yöntemleri:
ImsMmTelManager
- IMS MmTel kayıt geri çağırma işlevini kaydetme veya kaydını silme yöntemleri:
ImsRcsManager
- IMS RCS kayıt geri çağırma işlevini kaydetme veya kaydını silme yöntemleri:
- IMS kaydı durumunu veya aktarım türünü alma yöntemleri:
ProvisioningManager
- IMS özellik sağlama güncellemelerini kaydetme ve kaydını silme yöntemleri callback:
- IMS MmTel veya RCS özelliğinin temel hazırlığı durumuyla ilgili yöntemler:
EuiccManager
Belirtilen aboneliğe geçme (etkinleştirme) yöntemi:
switchToSubscription
CarrierMessagingService
Yeni SMS ve MMS gönderildiğinde veya alındığında sistemden çağrı alan hizmet. Bu sınıfı genişletmek için manifest dosyanızda hizmeti android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
izniyle beyan edin ve #SERVICE_INTERFACE
işlemini içeren bir intent filtresi ekleyin. Yöntemler şunlardır:
- Gelen SMS mesajlarını filtreleme yöntemi:
onFilterSms
- Cihazdan gönderilen kısa mesajları engelleme yöntemi:
onSendTextSms
- Cihazdan gönderilen ikili SMS mesajlarını engelleme yöntemi:
onSendDataSms
- Cihazdan gönderilen uzun SMS mesajlarını engelleme yöntemi:
onSendMultipartTextSms
- Cihazdan gönderilen MMS mesajlarını engelleme yöntemi:
onSendMms
- Alınan MMS mesajlarını indirme yöntemi:
onDownloadMms
CarrierService
Operatöre özgü işlevleri sisteme sunan hizmet. Bu sınıfı genişletmek için hizmeti uygulama manifest dosyasında android.Manifest.permission#BIND_CARRIER_SERVICES
izniyle beyan edin ve CARRIER_SERVICE_INTERFACE
işlemini içeren bir intent filtresi ekleyin.
Hizmetin uzun ömürlü bir bağlaması varsa hizmetin meta verilerinde android.service.carrier.LONG_LIVED_BINDING
değerini true
olarak ayarlayın.
Platform, operatör hizmeti işleminin özel bir
uygulama bekleme havuzunda çalışmasına izin vermek için CarrierService
'ü özel işaretlerle bağlar. Bu, operatör hizmet uygulamasının
uygulama boşta kalma kısıtlamasından muaf tutulmasını sağlar ve cihaz belleği düşük olduğunda uygulamanın etkin kalma olasılığını artırır. Ancak operatör hizmeti uygulaması herhangi bir nedenle kilitlenirse uygulama yeniden başlatılıp bağlama yeniden kurulana kadar yukarıdaki tüm ayrıcalıkları kaybeder. Bu nedenle, operatör hizmet uygulamasının kararlı kalması kritik önem taşır.
CarrierService
'teki yöntemler şunlardır:
- Operatöre özgü yapılandırmaları geçersiz kılmak ve ayarlamak için:
onLoadConfig
- Operatör uygulaması tarafından yapılacak bir operatör ağı değişikliği hakkında sistemi bilgilendirmek için:
notifyCarrierNetworkChange
Telefon hizmeti sağlayıcı
Telefon veritabanında değişiklik (ekle, sil, güncelle, sorgu) yapılmasına olanak tanıyan içerik sağlayıcı API'leri. Değer alanları
Telephony.Carriers
adresinde tanımlanır. Daha fazla bilgi için
Telephony
sınıf referansına bakın.
WifiNetworkSuggestion
WifiNetworkSuggestion
nesnesi oluştururken abonelik kimliği veya abonelik grubu ayarlamak için aşağıdaki yöntemleri kullanın:
- Abonelik kimliği belirleme yöntemi:
setSubscriptionId
- Abonelik grubu oluşturma yöntemi:
setSubscriptionGroup
Android platformu
Platform, algılanan bir UICC'de UICC'nin bir parçası olarak operatör ayrıcalık kurallarını içeren dahili UICC nesneleri oluşturur.
UiccCarrierPrivilegeRules.java
kuralları yükler, UICC kartından ayrıştırır ve bellekte önbelleğe alır. Ayrıcalık kontrolü gerektiğinde UiccCarrierPrivilegeRules
, arayanın sertifikasını kendi kurallarıyla tek tek karşılaştırır. UICC kaldırılırsa kurallar, UICC nesnesi ile birlikte yok edilir.
Doğrulama
CtsCarrierApiTestCases.apk
kullanarak
Compatibility Test Suite (CTS) aracılığıyla uygulamayı doğrulamak için doğru UICC kurallarına veya ARF desteğine sahip bir geliştirici UICC'niz olmalıdır.
Tercih ettiğiniz SIM kart tedarikçisinden, bu bölümde açıklandığı gibi doğru ARF'ye sahip bir geliştirici UICC hazırlamasını isteyin ve testleri çalıştırmak için bu UICC'yi kullanın. UICC'nin CTS testlerini geçmesi için etkin hücresel hizmet gerekmez.
UICC'yi hazırlama
Android 11 ve önceki sürümlerde CtsCarrierApiTestCases.apk
, aosp-testkey
tarafından 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
karma oluşturma değeriyle imzalanır.
Android 12'den itibaren CtsCarrierApiTestCases.apk
, cts-uicc-2021-testkey
tarafından imzalanır. Karma değeri 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
'dir.
Android 12'de CTS operatör API'si testlerini çalıştırmak için cihazın, üçüncü taraf GSMA TS.48 Test Profili spesifikasyonunun en son sürümünde belirtilen koşulları karşılayan CTS operatör ayrıcalıklarına sahip bir SIM kullanması gerekir.
Aynı SIM, Android 12'den önceki sürümlerde de kullanılabilir.
CTS SIM profilini değiştirme
- Ekle: Erişim kuralı uygulama ana dosyasına (ARA-M) veya ARF'ye CTS operatör ayrıcalıkları. Her iki imza da kargo şirketi ayrıcalık kurallarına kodlanmalıdır:
- Karma1(SHA1):
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Karma2(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
- Karma1(SHA1):
- Oluştur: TS.48'de bulunmayan ve CTS için gereken ADF USIM temel dosyaları (EF'ler):
- EF_MBDN (6FC7), kayıt boyutu: 28, kayıt numarası: 4
- İçerik
- Kayıt1: 566F696365204D61696CFFFFFFFF0691515555555FF…FF
- Rec2-n: FF…FF
- İçerik
- EF_EXT6 (6FC8), kayıt boyutu:13, kayıt numarası: 1
- İçerik: 00FF…FF
- EF_MBI (6FC9), kayıt boyutu: 4, kayıt numarası: 1
- İçerik: Kayıt1: 01010101
- EF_MWIS (6FCA), kayıt boyutu: 5, kayıt numarası: 1
- İçerik: 0000000000
- İçerik: 00FF…FF
- EF_MBDN (6FC7), kayıt boyutu: 28, kayıt numarası: 4
- Değiştir: USIM hizmet tablosu: 47 ve 48 numaralı hizmetleri etkinleştirin
- EF_UST (6F38)
- İçerik:
9EFFBF1DFFFE0083410310010400406E01
- İçerik:
- EF_UST (6F38)
- Değiştir: DF-5GS ve DF-SAIP dosyaları
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- İçerik:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- İçerik:
- DF-5GS - EF_5GSN3GPPLOCI (USIM/5FC0/4F02)
- İçerik:
FFFFFFFFFFFFFFFFFFFFFFFFFF42F618FFFFFE01
- İçerik:
- DF-5GS - EF SUCI_Calc_Info (USIM/5FC0/4F07)
- İçerik:
A0020000FF…FF
- İçerik:
- DF-SAIP - EF SUCI_Calc_Info_USIM (USIM/5FD0/4F01)
- İçerik:
A0020000FF…FF
- İçerik:
- DF-5GS - EF_5GS3GPPLOCI (USIM/5FC0/4F01)
- Değiştirme: Bu tanımı içeren ilgili EF'lerde Android CTS taşıyıcı adı dizesini kullanın:
- EF_SPN (USIM/6F46)
- İçerik:
01416E64726F696420435453FF..FF
- İçerik:
- EF_PNN (USIM/6FC5)
- İçerik:
Rec1 430B83413759FE4E934143EA14FF..FF
- İçerik:
- EF_SPN (USIM/6F46)
Test profili yapısıyla eşleşme
Aşağıdaki genel test profili yapılarının en son sürümünü indirip eşleştirin. Bu profillerde CTS operatör ayrıcalığı kuralı kişiselleştirilmez veya yukarıda listelenen diğer değişiklikler yapılmaz.
Test çalıştırma
CTS, kolaylık sağlamak için testlerin yalnızca aynı jetonla yapılandırılmış cihazlarda çalıştırılmasını kısıtlayan bir cihaz jetonunu destekler. Carrier API CTS testleri, cihaz jetonu sim-card-with-certs
'ü destekler. Örneğin, aşağıdaki cihaz jetonu operatör API testlerinin yalnızca abcd1234
cihazında çalışacak şekilde kısıtlar:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
Cihaz jetonu kullanılmadan çalıştırılan testler tüm cihazlarda çalışır.
SSS
UICC'de sertifikalar nasıl güncellenebilir?
C: Mevcut kart OTA güncelleme mekanizmasını kullanın.
UICC, diğer kurallarla birlikte kullanılabilir mi?
Y: UICC'de aynı AID altında başka güvenlik kurallarının olması sorun değildir. Platform bunları otomatik olarak filtreler.
UICC, üzerindeki sertifikalara dayanan bir uygulamadan kaldırıldığında ne olur?
C: UICC kaldırıldığında UICC ile ilişkili kurallar yok edildiğinden uygulama ayrıcalıklarını kaybeder.
UICC'deki sertifika sayısıyla ilgili bir sınır var mı?
C: Platform, sertifika sayısını sınırlamaz. Ancak kontrol doğrusal olduğundan çok fazla kural, kontrolde gecikmeye neden olabilir.
Bu yöntemle destekleyebileceğimiz API sayısıyla ilgili bir sınır var mı?
Y: Hayır, ancak kapsamı operatörle ilgili API'lerle sınırlandırıyoruz.
Bu yöntemin kullanılması yasak olan API'ler var mı? Varsa bunları nasıl uyguluyorsunuz? (yani, bu yöntemle hangi API'lerin desteklendiğini doğrulamak için testleriniz var mı?)
Y: Android Uyumluluk Tanımlama Belgesi'nin (CDD) API Davranış Uyumluluğu bölümüne bakın. API'lerin izin modelinin değişmediğinden emin olmak için bazı CTS testlerimiz var.
Bu özellik, çok SIM kartlı cihazlarda nasıl çalışır?
C: Kullanıcı tarafından belirtilen varsayılan SIM kullanılır.
Bu, diğer SE erişim teknolojileriyle (ör. SEEK) herhangi bir şekilde etkileşime giriyor veya örtüşüyor mu?
C: Örneğin, SEEK, UICC'dekiyle aynı AID'yi kullanır. Bu nedenle kurallar birlikte bulunur ve SEEK veya UiccCarrierPrivileges
tarafından filtrelenir.
Operatör ayrıcalıklarını ne zaman kontrol etmeliyim?
C: SIM durumu yüklendi yayınından sonra.
OEM'ler operatör API'lerinin bir kısmını devre dışı bırakabilir mi?
Y: Hayır. Mevcut API'lerin minimum düzeyde olduğuna inanıyoruz ve gelecekte daha ayrıntılı kontrol için bit maskesini kullanmayı planlıyoruz.
setOperatorBrandOverride
, operatör ad dizelerinin diğer TÜM biçimlerini geçersiz kılar mı? Örneğin, SE13, UICC SPN veya ağa dayalı NITZ?
Evet, operatör markası geçersiz kılma işlemi en yüksek önceliğe sahiptir. Bu ayar etkinleştirildiğinde, operatör adı dizelerinin TÜM diğer biçimleri geçersiz kılınır.
injectSmsPdu
yöntem çağrısı ne işe yarar?
C: Bu yöntem, bulutta SMS yedekleme/geri yüklemeyi kolaylaştırır. injectSmsPdu
çağrısı, geri yükleme işlevini etkinleştirir.
SMS filtreleme için onFilterSms
çağrısı SMS UDH bağlantı noktası filtrelemesine dayalı mı? Yoksa operatör uygulamaları gelen TÜM SMS'lere erişebilir mi?
C: Operatörler tüm SMS verilerine erişebilir.
DeviceAppID-REF-DO
uzantısının 32 bayt desteklemek için genişletilmesi, mevcut GP spesifikasyonuyla (yalnızca 0 veya 20 bayta izin verir) uyumlu değil. Bu nedenle, bu değişikliği neden uyguluyorsunuz? SHA-1, çakışmaları önlemek için yeterli değil mi? Mevcut ARA-M/ARF ile geriye dönük uyumlu olmayabileceği için bu değişikliği GP'ye önerdiniz mi?
C: Bu uzantı, gelecekte de geçerli olacak bir güvenlik sağlamak için DeviceAppID-REF-DO
için SHA-1'e ek olarak SHA-256'yı da kullanıma sunar. SHA-1 şu anda GP SEAC standardındaki tek seçenektir. SHA-256 kullanmanızı önemle tavsiye ederiz.
DeviceAppID
0 (boş) ise kuralı belirli bir kural kapsamında olmayan tüm cihaz uygulamalarına mı uyguluyorsunuz?
Y: Operatör API'leri için DeviceAppID-REF-DO
doldurulmalıdır.
Boşluk, test amacıyla kullanılmalıdır ve operasyonel dağıtımlar için önerilmez.
Şartnamenize göre, DeviceAppID-REF-DO
olmadan tek başına kullanılan PKG-REF-DO
kabul edilmemelidir. Ancak spesifikasyonun 6-4 numaralı tablosunda REF-DO
tanımını genişleten bir özellik olarak açıklanmaya devam etmektedir. Bunu bilerek mi yaptınız? REF-DO
içinde yalnızca PKG-REF-DO
kullanıldığında kod nasıl davranır?
Y: REF-DO
içinde PKG-REF-DO
'un tek değerli bir öğe olarak yer alması seçeneği son sürümde kaldırıldı.
PKG-REF-DO
yalnızca DeviceAppID-REF-DO
ile birlikte kullanılmalıdır.
Operatöre dayalı tüm izinlere erişim izni verebileceğimizi veya daha ayrıntılı kontrol sahibi olabileceğimizi varsayıyoruz. Öyleyse bit maskesi ile gerçek izinler arasındaki eşlemeyi ne belirler? Sınıf başına bir izin mi? Her yöntem için bir izin mi? Uzun vadede 64 ayrı izin yeterli mi?
C: Bu özellik gelecek için ayrılmıştır. Önerilerinizi bekliyoruz.
Android için DeviceAppID
'u daha ayrıntılı olarak tanımlayabilir misiniz? Bu, belirli bir uygulamayı imzalamak için kullanılan yayıncı sertifikasının SHA-1 (20 bayt) karma değeridir. Dolayısıyla, ad bu amacı yansıtmamalı mı? (Bu durumda kural aynı yayıncı sertifikasıyla imzalanan tüm uygulamalar için geçerli olacağından, ad birçok okuyucu için kafa karıştırıcı olabilir.)
Y: DeviceAppID
sertifikaları depolama mevcut spesifikasyon tarafından desteklenir. Kullanıma geçişin önündeki engelleri azaltmak için spesifikasyon değişikliklerini en aza indirmeye çalıştık. Ayrıntılar için UICC ile ilgili kurallar başlıklı makaleyi inceleyin.