Tradefed, sırların bir anahtar deposu hizmetinde depolanabileceği ve test sırasında kullanılmak üzere test çalıştırma zamanında istenebileceği bir anahtar deposu kavramını içerir.
Anahtar deposu kullanma
Bir anahtar deposunu kullanmak için öncelikle global yapılandırmanızda anahtar deposunun kaynağını tanımlamanız gerekir.
İşlem tamamlandığında, depolanan anahtarları şu yollarla kullanabilirsiniz: USE_KEYSTORE@{key}
JSONFileKeyStore
Tradefed çekirdeğindeki örnek uygulama, JSON anahtar deposunu kullanır.
JSONFileKeyStoreClient
. Bu anahtar deposunu kullanmak için anahtar/değer eşlemeleri içeren bir JSON anahtar dosyası tanımlamanız gerekir.
Örneğin, /path/to/keystore.json
dosyasını şu şekilde tanımlayabilirsiniz:
{
"test_account": "foo@gmail.com",
"test_account_pwd": "helloworld",
"wifi_lab_ssid": "Google_private_AP",
"wifi_lab_pwd": "secret123",
}
Ardından, TF global yapılandırma dosyanıza aşağıdaki satırları ekleyin:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
</key_store>
İlgili testleri yürütürken artık değerleri USE_KEYSTORE@test_account
olarak iletebilirsiniz. Bu değerler için TF, anahtar deposuna sorgu gönderir ve testin bir parçası olarak değerini kullanır.
Ana makine tabanlı anahtar deposu dosyası
Ana bilgisayar tabanlı anahtar/değer çiftlerini tanımlamak için bir /path/to/keystore_ssid.json
dosyası tanımlayabilirsiniz.
{
"host_a.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_a",
"wifi_lab_pwd": "secret_a"
},
"host_b.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_b",
"wifi_lab_pwd": "secret_b"
}
}
Dosyadaki bir girişin anahtarı, ana makine adı için normal ifade (regex) kalıbı, değeri ise eşleşen ana makine adına sahip herhangi bir ana makine için anahtar/değer çiftleri kümesidir.
Ardından, ana makine tabanlı anahtar deposu dosyasını eklemek için TF global yapılandırma dosyanızı güncelleyin:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
<option name="host-based-key-store-file" value="/path/to/keystore-ssid.json" />
</key_store>
Anahtar deposu tabanlı bir anahtar deposu dosyasında tanımlanan anahtarın değeri, json-key-store-file
ile belirtilen anahtar deposu dosyasında tanımlanan değeri geçersiz kılar.
Anahtar deposunda birden fazla anahtar deposu dosyası varsa sıra önemlidir. Bir anahtarın değeri birden fazla dosyada tanımlanmışsa bu türdeki son dosyadaki değer diğerlerinin yerini alır.