Anahtar deposuyla sırları saklayın

Tradefed, sırların bir anahtar deposu hizmetinde saklanabildiği ve test sırasında kullanılmak üzere test çalıştırması sırasında talep edilebildiği bir anahtar deposu konseptini içerir.

Bir anahtar deposu kullanın

Bir anahtar deposunu kullanmak için öncelikle genel yapılandırmanızda anahtar deposunun kaynağını tanımlamanız gerekir.

İşiniz bittiğinde, saklanan anahtarları şu yolla kullanabilirsiniz: USE_KEYSTORE@{key}

JSONFileKeyStore

Tradefed çekirdeğindeki örnek uygulama, JSONFileKeyStoreClient adlı bir JSON anahtar deposunu kullanır. Bu anahtar deposunu kullanmak için, anahtar-değer eşlemelerine sahip bir JSON anahtar dosyası tanımlamalısınız.

Ö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",
}

Daha sonra TF global yapılandırma dosyanıza aşağıdaki satırları eklersiniz:

<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; TF daha sonra anahtar deposunu sorgulayacak ve değerini testin bir parçası olarak kullanacaktır.

Ana bilgisayar tabanlı anahtar deposu dosyası

Ana bilgisayar tabanlı anahtar/değer çiftlerini tanımlamak için /path/to/keystore_ssid.json dosyasını şu şekilde 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 bilgisayar adı için bir normal ifade (regex) modelidir ve değer, eşleşen ana bilgisayar adına sahip herhangi bir ana bilgisayar için anahtar/değer çiftleri kümesidir.

Ardından TF genel yapılandırma dosyanızı ana bilgisayar tabanlı anahtar deposu dosyasını içerecek şekilde 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>

Ana bilgisayar tabanlı bir anahtar deposu dosyasında tanımlanan bir 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 çok ana bilgisayar tabanlı anahtar deposu dosyası mevcut olduğunda sıra önemlidir. Bir anahtarın değeri birden fazla dosyada tanımlanmışsa, bu dosyadaki son değer geri kalanını geçersiz kılar.