เก็บความลับด้วยที่เก็บคีย์

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

ใช้ที่เก็บคีย์

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

เมื่อเสร็จแล้ว คุณสามารถใช้คีย์ที่เก็บไว้ผ่านทาง: USE_KEYSTORE@{key}

JSONFileKeyStore

การใช้งานตัวอย่างใน Tradefed core ใช้ที่เก็บคีย์ 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

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