จัดเก็บข้อมูลลับด้วยคีย์สโตร์

Tradefed มีแนวคิดของที่เก็บคีย์ ซึ่งสามารถจัดเก็บข้อมูลลับไว้ในบริการที่เก็บคีย์และขอได้ในเวลาที่เรียกใช้การทดสอบ เพื่อใช้ในระหว่างการทดสอบ

ใช้คีย์สโตร์

หากต้องการใช้ที่เก็บคีย์ คุณต้องกำหนดแหล่งที่มาของที่เก็บคีย์ในการกำหนดค่าส่วนกลางก่อน

เมื่อดำเนินการเสร็จแล้ว คุณจะใช้คีย์ที่จัดเก็บไว้ได้โดยทำดังนี้ USE_KEYSTORE@{key}

JSONFileKeyStore

การติดตั้งใช้งานตัวอย่างในแกนหลักของ Tradefed ใช้ที่เก็บคีย์ JSON JSONFileKeyStoreClient หากต้องการใช้ที่เก็บคีย์นี้ คุณจะต้องกำหนดไฟล์คีย์ JSON ที่มีการแมปคีย์กับค่า

เช่น คุณอาจกำหนดไฟล์ /path/to/keystore.json เป็น

{
  "test_account": "foo@gmail.com",
  "test_account_pwd": "helloworld",
  "wifi_lab_ssid": "Google_private_AP",
  "wifi_lab_pwd": "secret123",
}

จากนั้นคุณจะเพิ่มบรรทัดต่อไปนี้ในไฟล์การกำหนดค่าส่วนกลางของ TF

<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
</key_store>

เมื่อดำเนินการทดสอบที่เกี่ยวข้อง ตอนนี้คุณสามารถส่งค่าเป็น USE_KEYSTORE@test_account ซึ่ง TF จะค้นหาค่าในที่เก็บคีย์และใช้ ค่าดังกล่าวเป็นส่วนหนึ่งของการทดสอบ

ไฟล์ที่เก็บคีย์ที่อิงตามโฮสต์

หากต้องการกำหนดคู่คีย์-ค่าตามโฮสต์ คุณอาจกำหนดไฟล์ /path/to/keystore_ssid.jsonเป็น

{
  "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"
  }
}

คีย์ของรายการในไฟล์คือรูปแบบนิพจน์ทั่วไป (regex) สำหรับ ชื่อโฮสต์ และค่าคือชุดคู่คีย์-ค่าสำหรับโฮสต์ที่มี ชื่อโฮสต์ที่ตรงกัน

จากนั้นอัปเดตไฟล์การกำหนดค่าส่วนกลางของ TF เพื่อรวมไฟล์ที่เก็บคีย์ตามโฮสต์

<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>

ค่าของคีย์ที่กำหนดไว้ในไฟล์คีย์สโตร์ที่อิงตามโฮสต์จะลบล้างค่าที่กำหนดไว้ ในไฟล์คีย์สโตร์ที่ระบุด้วย json-key-store-file

เมื่อมีไฟล์ที่เก็บคีย์ที่อิงตามโฮสต์หลายไฟล์ในที่เก็บคีย์ ลำดับ มีความสำคัญ หากกำหนดค่าสำหรับคีย์ในหลายไฟล์ ค่าในไฟล์สุดท้ายจะลบล้างค่าอื่นๆ