Android 5.1, evrensel entegre devre kartı (UICC) uygulamalarının sahipleriyle alakalı API'ler için özel ayrıcalıklar verme mekanizmasını kullanıma sundu. Android platformu, UICC'de depolanan sertifikaları yükler ve bu sertifikalarla imzalanan uygulamalara, belirli özel API'leri çağırma izni verir.
Android 7.0, bu özelliği genişleterek UICC operatör ayrıcalığı kuralları için diğer depolama kaynaklarını desteklemeye başladı. Bu sayede, API'leri kullanabilen operatörlerin sayısı önemli ölçüde arttı. API referansı için CarrierConfigManager'a, talimatlar için Carrier Configuration'a bakın.
Operatörler UICC üzerinde tam denetime sahiptir. Bu nedenle, bu mekanizma, cihazlarda özel ayrıcalıkları korurken ve uygulamaları cihaz başına platform sertifikasıyla imzalamaya veya sistem uygulaması olarak önceden yüklemeye gerek kalmadan, genel uygulama dağıtım kanallarında (ör. Google Play) barındırılan mobil ağ operatöründen (MNO) gelen uygulamaları yönetmek için güvenli ve esnek bir yol sağlar.
UICC ile ilgili kurallar
UICC'deki depolama alanı,
GlobalPlatform
Secure Element Access Control spesifikasyonu ile uyumludur. Karttaki uygulama tanımlayıcısı (AID) A00000015141434C00
ve kartta depolanan kuralları getirmek için standart
GET DATA
komutu kullanılır. Bu kuralları, kart kablosuz (OTA) güncellemeleriyle güncelleyebilirsiniz.
Veri hiyerarşisi
UICC kurallarında aşağıdaki veri hiyerarşisi kullanılır (parantez içindeki iki karakterli harf ve sayı kombinasyonu, nesne etiketidir). Her kural REF-AR-DO
(E2
) olup REF-DO
ve AR-DO
birleşiminden oluşur:
REF-DO
(E1
),DeviceAppID-REF-DO
veyaDeviceAppID-REF-DO
ilePKG-REF-DO
'ün birleştirilmiş halini içerir.DeviceAppID-REF-DO
(C1
), sertifikanın SHA-1 (20 bayt) veya SHA-256 (32 bayt) imzasını depolar.PKG-REF-DO
(CA
), manifestte tanımlanan tam paket adı dizesidir, ASCII kodludur ve maksimum uzunluğu 127 bayttır.
AR-DO
(E3
), 64 ayrı izni temsil eden 8 baytlık bit maskesi olanPERM-AR-DO
(DB
) değerini içerecek şekilde genişletilir.
PKG-REF-DO
yoksa sertifikayla 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
Onaltılık dizedeki UICC kuralı şöyledir:
E243 <= 43 is value length in hex E135 C114 ABCD92CBB156B280FA4E1429A6ECEEB6E5C1BFE4 CA1D 636F6D2E676F6F676C652E616E64726F69642E617070732E6D79617070 E30A DB08 0000000000000001
Erişim kuralı dosyası desteği
Android 7.0, operatör ayrıcalığı kurallarının access_rule dosyasından (ARF) okunması için destek ekler.
Android platformu, önce erişim kuralı uygulaması (ARA) AID'yi A00000015141434C00
seçmeye çalışır. UICC'de AID'yi bulamazsa PKCS15 AID'yi (A000000063504B43532D3135
) seçerek ARF'ye geri döner. Android daha sonra 0x4300
konumundaki erişim denetimi kuralları dosyasını (ACRF) okur ve AID'si FFFFFFFFFFFF
olan girişleri arar. Farklı AID'lere sahip girişler yoksayılır. Bu nedenle, diğer kullanım alanlarına yönelik kurallar bir arada bulunabilir.
Onaltılık dizede ö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ı içeren ACCF'nin adresidir
61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
. Bu sertifikayla imzalanan uygulamalara operatör ayrıcalıkları verilir.
Etkinleştirilen API'ler
Android aşağıdaki API'leri destekler.
TelephonyManager
- Operatör uygulamasının UICC'den sorgulama/yanıt istemesine izin verme yöntemi:
getIccAuthentication
. - Arama uygulamasına operatör ayrıcalıkları verilip verilmediğini kontrol etme yöntemi:
hasCarrierPrivileges
. - Markayı ve numarayı geçersiz kılma yöntemleri:
- Doğrudan UICC iletişimi yöntemleri:
- Cihaz modunu genel olarak ayarlama yöntemi:
setPreferredNetworkTypeToGlobal
. - Cihaz veya ağ kimliklerini edinme 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 iletimi için ağ türünü alma yöntemi:
getDataNetworkType
- Ses hizmeti için ağ türünü alma yöntemi:
getVoiceNetworkType
- UICC SIM (USIM) uygulaması hakkında bilgi edinme yöntemleri:
- SIM seri numarası:
getSimSerialNumber
- Kart bilgileri:
getUiccCardsInfo
- GID1 (1. düzey grup kodu):
getGroupIdLevel1
- 1. satır için telefon numarası dizesi:
getLine1Number
- Yasaklanmış herkese açık kara mobil ağı (PLMN):
getForbiddenPlmns
- Equivalent home PLMN:
getEquivalentHomePlmns
- SIM seri numarası:
- Sesli mesaj numarasını alma veya ayarlama yöntemleri:
- Özel çevirici kodu gönderme yöntemi:
sendDialerSpecialCode
- Radyo modemini sıfırlama yöntemi:
rebootModem
- Ağ seçimi modlarını alma veya ayarlama yöntemleri:
- Ağ taraması isteğinde bulunma yöntemi:
requestNetworkScan
- İzin verilen/tercih edilen ağ türlerini alma veya ayarlama yöntemleri:
- Mobil verinin veya dolaşımın kullanıcı ayarlarında etkin olup olmadığını kontrol etme yöntemleri:
- Veri bağlantısını kontrol etme veya ayarlama yöntemleri ve nedenleri:
- 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 çağıran uygulamayı bilgilendirmek için geri çağırma yöntemiyle arayüzlere sahiptir:
- Bekleyen mesaj göstergesi değişti:
onMessageWaitingIndicatorChanged
- Arama yönlendirme göstergesi değişti:
onCallForwardingIndicatorChanged
- IP multimedya sistemi (IMS) çağrısının bağlantısının kesilme nedeni değişti:
onImsCallDisconnectCauseChanged
- Tam 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/izleme 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 edinme 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 kargo şirketi 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 edilecek):
setSubscriptionOverrideUnmetered
- Bir kargo şirketi 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ğlamdaki uygulamanın, meta verilerine göre belirli bir aboneliği 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ği bildirimi 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ı makaleye bakın.
BugreportManager
Bağlantı için hata raporu başlatma yöntemi. Bu, hata raporunun yalnızca bağlantıyla ilgili sorunlarda hata ayıklama bilgilerini içeren özel bir sürümüdür:
startConnectivityBugreport
NetworkStatsManager
- Ağ kullanım özeti sorgulama yöntemi:
querySummary
- Ağ kullanım geçmişine sorgu gönderme yöntemi:
queryDetails
- Ağ kullanımı geri çağırma kaydını yapma veya kaldırma yöntemleri:
ImsMmTelManager
- IMS MmTel kayıt geri aramasını kaydetme veya kaydını silme yöntemleri:
ImsRcsManager
- IMS RCS kaydı geri arama özelliğini kaydetme veya kaydını silme yöntemleri:
- IMS kaydı durumunu veya aktarım türünü alma yöntemleri:
ProvisioningManager
- IMS özelliği sağlama güncellemelerini kaydetme ve kaydını silme yöntemleri callback:
- IMS MmTel veya RCS özelliği için temel hazırlık durumuyla ilgili yöntemler:
EuiccManager
Belirli bir aboneliğe geçme (etkinleştirme) yöntemi:
switchToSubscription
CarrierMessagingService
Yeni SMS ve MMS gönderildiğinde veya alındığında sistemden gelen aramaları alan hizmet. Bu sınıfı genişletmek için hizmeti manifest dosyanızda android.Manifest.permission#BIND_CARRIER_MESSAGING_SERVICE
izniyle beyan edin ve #SERVICE_INTERFACE
işlemiyle bir amaç filtresi ekleyin. Yöntemler şunlardır:
- Gelen SMS mesajlarını filtreleme yöntemi:
onFilterSms
- Cihazdan gönderilen kısa mesajları yakalama yöntemi:
onSendTextSms
- Cihazdan gönderilen ikili SMS mesajlarını yakalama yöntemi:
onSendDataSms
- Cihazdan gönderilen uzun SMS mesajlarını yakalama yöntemi:
onSendMultipartTextSms
- Cihazdan gönderilen MMS mesajlarını yakalama yöntemi:
onSendMms
- Alınan MMS mesajlarını indirme yöntemi:
onDownloadMms
CarrierService
Operatöre özel 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şlemiyle bir intent filtresi ekleyin.
Hizmetin uzun süreli bir bağlaması varsa hizmetin meta verilerinde android.service.carrier.LONG_LIVED_BINDING
değerini true
olarak ayarlayın.
Platform, CarrierService
öğesini özel işaretlerle bağlayarak operatör hizmeti işleminin özel bir
uygulama bekleme grubunda çalışmasına olanak tanır. Bu, operatör hizmeti uygulamasını
uygulama boşta kalma kısıtlamasından muaf tutar ve cihaz belleği azaldığında uygulamanın çalışmaya devam etme 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ını kaybeder. Bu nedenle, operatör hizmeti uygulamasının kararlı kalması kritik önem taşır.
CarrierService
bölgesindeki yöntemler şunlardır:
- Operatöre özel yapılandırmaları geçersiz kılmak ve ayarlamak için:
onLoadConfig
- Operatör uygulaması tarafından planlanan bir operatör ağı değişikliğini sisteme bildirmek için:
notifyCarrierNetworkChange
Telefon hizmeti sağlayıcı
Telefon veritabanında değişiklik (ekleme, silme, güncelleme, sorgu) yapılmasına izin veren içerik sağlayıcı API'leri. Değer alanları
Telephony.Carriers
konumunda 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 ayarlama 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ığı 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 sertifikasını kendi kurallarıyla tek tek karşılaştırır. UICC kaldırılırsa kurallar, UICC nesnesiyle 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.
Seçtiğiniz SIM kart satıcısından, bu bölümde açıklandığı gibi doğru ARF'ye sahip bir geliştirici UICC'si hazırlamasını ve testleri çalıştırmak için bu UICC'yi kullanmasını isteyin. 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
, karma değeri 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
olan aosp-testkey
tarafından 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
.
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 şartları 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
- Ekleme: CTS operatör ayrıcalıkları
access rule app master (ARA-M) veya ARF'de. Her iki imza da kargo şirketi ayrıcalık kurallarında kodlanmalıdır:
- 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):
- Oluşturma: TS.48'de bulunmayan ve CTS için gerekli olan ADF USIM temel dosyaları (EF'ler):
- EF_MBDN (6FC7), kayıt boyutu: 28, kayıt numarası: 4
- İçerik
- Rec1: 566F696365204D61696CFFFFFFFF06915155555555FF…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: Rec1: 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ştirme: 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ştirin: Bu tanımlamayı içeren ilgili EF'lerde Android CTS operatör 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 yeni 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.
Testler yapın
Kolaylık sağlamak için CTS, testlerin yalnızca aynı jetonla yapılandırılmış cihazlarda çalışmasını kısıtlayan bir cihaz jetonunu destekler. Operatör API'si CTS testleri, cihaz jetonunu sim-card-with-certs
destekler. Örneğin, aşağıdaki cihaz jetonu, operatör API testlerinin yalnızca abcd1234
cihazında çalıştırılmasını kısıtlar:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
Cihaz jetonu kullanılmadan test çalıştırıldığında test tüm cihazlarda çalışır.
SSS
UICC'deki sertifikalar nasıl güncellenebilir?
Y: Mevcut kart OTA güncelleme mekanizmasını kullanın.
UICC diğer kurallarla birlikte kullanılabilir mi?
Y: Aynı AID altında UICC'de başka güvenlik kurallarının olması sorun değildir. Platform bunları otomatik olarak filtreler.
Üzerindeki sertifikaları kullanan bir uygulama için UICC kaldırıldığında ne olur?
Y: UICC ile ilişkili kurallar, UICC çıkarıldığında yok edildiğinden uygulama ayrıcalıklarını kaybeder.
UICC'deki sertifika sayısıyla ilgili bir sınır var mı?
Y: Platform, sertifika sayısını sınırlamaz. Ancak kontrol doğrusal olduğundan çok fazla kural, kontrol için gecikmeye neden olabilir.
Bu yöntemle destekleyebileceğimiz API sayısı sınırlı mı?
Y: Hayır, ancak kapsamı operatörle ilgili API'lerle sınırlıyoruz.
Bu yöntemin kullanılması yasak olan API'ler var mı? Bu durumda, bu kuralları nasıl uygularsınız? (Yani, bu yöntemle hangi API'lerin desteklendiğini doğrulamak için testleriniz var mı?)
Y: Android Uyumluluk Tanım Belgesi'nin (CDD) API Davranışsal Uyumluluğu bölümüne bakın. API'lerin izin modelinin değiştirilmediğinden emin olmak için bazı CTS testlerimiz var.
Bu özellik, çoklu SIM özelliğiyle nasıl çalışır?
Y: Kullanıcı tarafından belirtilen varsayılan SIM kullanılır.
Bu özellik, SEEK gibi diğer SE erişim teknolojileriyle herhangi bir şekilde etkileşime giriyor veya çakışıyor mu?
Y: Örneğin, SEEK, UICC'dekiyle aynı AID'yi kullanır. Bu nedenle kurallar birlikte var olur ve SEEK veya UiccCarrierPrivileges
tarafından filtrelenir.
Operatör ayrıcalıklarını kontrol etmek için en uygun zaman hangisidir?
Y: SIM durumu yüklendikten sonra yayınlanır.
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ğunu düşünüyoruz ve gelecekte daha ayrıntılı kontrol için bit maskesini kullanmayı planlıyoruz.
setOperatorBrandOverride
, diğer TÜM operatör adı dizelerini geçersiz kılar mı? Örneğin, SE13, UICC SPN veya ağ tabanlı NITZ?
Evet, operatör markası geçersiz kılma en yüksek önceliğe sahiptir. Bu ayar belirlendiğinde, diğer TÜM operatör adı dizelerini geçersiz kılar.
injectSmsPdu
yöntem çağrısı ne işe yarar?
Y: Bu yöntem, SMS'lerin bulutta yedeklenmesini/geri yüklenmesini 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ı filtrelemeye mi dayanıyor? Yoksa operatör uygulamaları TÜM gelen SMS'lere erişebilir mi?
Y: Operatörler tüm SMS verilerine erişebilir.
DeviceAppID-REF-DO
'nin 32 baytı destekleyecek şekilde genişletilmesi, mevcut GP spesifikasyonuyla (yalnızca 0 veya 20 bayta izin verir) uyumsuz görünüyor. Bu değişikliği neden yapıyorsunuz? Çakışmaları önlemek için SHA-1 yeterli değil mi? Bu değişiklik, mevcut ARA-M/ARF ile geriye dönük olarak uyumsuz olabileceğinden bu değişikliği GP'ye önerdiniz mi?
Y: Bu uzantı, geleceğe yönelik güvenlik sağlamak için DeviceAppID-REF-DO
'de SHA-1'in yanı sıra SHA-256'yı kullanıma sunar. SHA-1, şu anda GP SEAC standardındaki tek seçenektir. SHA-256 kullanmanızı önemle tavsiye ederiz.
If DeviceAppID
is 0 (empty), do you apply the rule to
all device apps not covered by a specific rule?
Y: Operatör API'leri için DeviceAppID-REF-DO
alanının doldurulması gerekir.
Boş olması test amaçlıdır ve operasyonel dağıtımlar için önerilmez.
Spesifikasyonunuza göre PKG-REF-DO
, DeviceAppID-REF-DO
olmadan tek başına kullanıldığında kabul edilmemelidir. Ancak, spesifikasyonun Tablo 6-4'ünde REF-DO
tanımını genişlettiği belirtilmektedir. Bunu bilerek mi yaptınız? Kod, REF-DO
içinde yalnızca PKG-REF-DO
kullanıldığında nasıl davranır?
Y: REF-DO
içinde PKG-REF-DO
öğesinin tek bir değer olarak kullanılması seçeneği son sürümde kaldırıldı.
PKG-REF-DO
yalnızca DeviceAppID-REF-DO
ile birlikte kullanılmalıdır.
Tüm operatör tabanlı izinlere erişim izni verebileceğimizi veya daha ayrıntılı denetim yapabileceğimizi varsayıyoruz. Bu durumda, bit maskesi ile gerçek izinler arasındaki eşlemeyi ne tanımlar? Sınıf başına bir izin mi? Yöntem başına bir izin mi? Uzun vadede 64 ayrı izin yeterli mi?
Y: Bu özellik gelecekte kullanıma sunulacak. Önerilerinizi bekliyoruz.
Android için DeviceAppID
'ı daha ayrıntılı bir şekilde tanımlayabilir misiniz? Bu, söz konusu uygulamayı imzalamak için kullanılan Yayıncı sertifikasının SHA-1 (20 bayt) karma değeridir. Bu nedenle, adın bu amacı yansıtması gerekmez mi? (Kural daha sonra 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ının depolanması mevcut spesifikasyon tarafından desteklenir. Kabul edilme engelini 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.