Android 5.1, evrensel entegre devre kartı (UICC) uygulamalarının sahipleriyle alakalı API'lere özel ayrıcalıklar sağlamak için bir mekanizma sundu. Android platformu, bir UICC'de depolanan sertifikaları yükler ve bir dizi özel API'ye çağrı yapmak için bu sertifikalar tarafından imzalanan uygulamalara izin 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 bakın. Talimatlar için Operatör Yapılandırması'na 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'deki kurallar
UICC'deki depolama alanı,
GlobalPlatform Güvenli Öğe Erişimi Kontrolü 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
öğelerinin birleşiminden oluşur:
REF-DO
(E1
),DeviceAppID-REF-DO
veyaDeviceAppID-REF-DO
ilePKG-REF-DO
'in bir birleşimini 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, ASCII kodlu, maksimum uzunluğu 127 bayt olan tam paket adı dizesidir.
AR-DO
(E3
), 64 ayrı izni temsil eden 8 bayt bitlik bir maske olanPERM-AR-DO
(DB
) öğesini içerecek şekilde genişletildi.
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ık 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
, 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
sertifika karmasını içeren ACCF adresidir. Bu sertifikayla 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'ye sorgulama/yanıt istemesini sağlayacak yöntem:
getIccAuthentication
. - Çağrı yapan uygulamaya operatör ayrıcalıklarının verilip verilmediğini kontrol etmek için kullanılan yöntem:
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 bilgi edinme yöntemleri:
- SIM seri numarası:
getSimSerialNumber
- Kart bilgileri:
getUiccCardsInfo
- GID1 (grup kimliği 1. seviye):
getGroupIdLevel1
- 1. satır için telefon numarası dizesi:
getLine1Number
- Yasaklanmış herkese açık karasal mobil ağ (PLMN):
getForbiddenPlmns
- Eşdeğer ev PLMN'si:
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/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
Abonelik Yöneticisi
- Çeşitli abonelik bilgilerini alma yöntemleri:
- Etkin abonelik 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 (abonenin kotasız olarak kabul edilmesi için):
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
- Belirtilen 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ırmayı bildirme yöntemi değiştirildi:
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.
Hata Raporu Yöneticisi
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 kaydı geri çağırmasını kaydetme veya kaydını iptal etme 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 bildirin ve #SERVICE_INTERFACE
işlemiyle 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ı alma 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
içindeki 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ısı
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.
Kablosuz Ağ Önerisi
Bir 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
- Bir abonelik grubu oluşturmak için Metohd:
setSubscriptionGroup
Android platformu
Algılanan bir UICC'de platform, 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 ile bir geliştirici UICC'si hazırlamasını isteyin ve testleri çalıştırmak için bu UICC'yi kullanın. UICC, CTS testlerini geçmek için aktif hücresel hizmet gerektirmez.
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 operatör 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
- 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
- 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: 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ştirme: 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 kişiselleştirilmiş CTS Operatör Ayrıcalığı kuralı veya yukarıda listelenen diğer değişiklikler bulunmaz.
Test çalıştırma
CTS, kolaylık sağlamak için testlerin yalnızca aynı jetonla yapılandırılan 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 testlerini yalnızca abcd1234
adlı cihazda çalışacak şekilde kısıtlar:
cts-tradefed run cts --device-token abcd1234:sim-card-with-certs
Bir test, cihaz jetonu kullanmadan çalıştırıldığında tüm cihazlarda çalıştırılır.
SSS
UICC'de sertifikalar nasıl güncellenebilir?
Y: 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 uygulama için kaldırıldığında ne olur?
C: UICC kaldırıldığında UICC ile ilişkili kurallar yok edildiği için uygulama ayrıcalıklarını kaybeder.
UICC'deki sertifika sayısına ilişkin 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ırlıyoruz.
Bu yöntemin kullanılması yasak olan API'ler var mı? Varsa bu yaptırımları 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ış Uyumluluğu bölümüne bakın. API'lerin izin modelinin değişmediğinden emin olmak için bazı CTS testlerimiz var.
Çoklu SIM özelliğiyle bu özelliğin işleyiş şekli
C: Kullanıcı tarafından belirtilen varsayılan SIM kullanılır.
Bu, diğer SE erişim teknolojileri (ör. SEEK) ile 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ını geçersiz kılma işlemi en yüksek önceliğe sahip. 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 filtrelemesi için onFilterSms
çağrısı, SMS UDH bağlantı noktası filtrelemesine mi dayalı? Yoksa operatör uygulamalarının gelen TÜM SMS'lere erişimi var mı?
C: Operatörler tüm SMS verilerine erişebilir.
DeviceAppID-REF-DO
'un 32 bayt desteklemek için genişletilmesi, mevcut GP spesifikasyonuyla (yalnızca 0 veya 20 bayta izin verir) uyumlu değil. Peki bu değişikliği neden uyguluyoruz? 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ş olması test amaçlıdır ve operasyonel dağıtımlarda önerilmez.
Şartnamenize göre, DeviceAppID-REF-DO
olmadan tek başına kullanılan PKG-REF-DO
kabul edilmemelidir. Ancak yine de spesifikasyondaki Tablo 6-4'te REF-DO
tanımının genişletilmesi olarak tanımlanmaktadır. 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.
Tüm operatör tabanlı 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 tanımlar? 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 özel olarak DeviceAppID
öğesini daha ayrıntılı
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ı? (Kural aynı yayıncı sertifikasıyla imzalanan tüm uygulamalar için geçerli olduğundan bu 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'deki kurallar başlıklı makaleyi inceleyin.