تشمل مقايضة الملفات مفهوم ملف تخزين المفاتيح، حيث يمكن تخزين المفاتيح السرّية في خدمة ملف تخزين المفاتيح وطلبها في وقت التشغيل التجريبي لاستخدامها أثناء الاختبار.
استخدام ملف تخزين مفاتيح
لاستخدام ملف تخزين مفاتيح، عليك أولاً تحديد مصدر ملف تخزين المفاتيح في الإعداد العام.
بعد الانتهاء، يمكنك استخدام المفاتيح المخزّنة من خلال: USE_KEYSTORE@{key}
تخزين ملف JSON
يستخدم نموذج التنفيذ في 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
، وسيطلب إطار عمل اختبار الأداء بعد ذلك من مخزن المفاتيح استخدام
قيمته كجزء من الاختبار.
ملف تخزين مفاتيح مستنِد إلى المضيف
لتحديد أزواج مفاتيح وقيم مستندة إلى المضيف، يمكنك تحديد ملف
/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"
}
}
مفتاح الإدخال في الملف هو نمط تعبير عادي لاسم المضيف، والقيمة هي مجموعة أزواج المفتاح والقيمة لأي مضيف لديه اسم مضيف مطابق.
بعد ذلك، عليك تعديل ملف الإعداد العام 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
.
عند وجود عدة ملفات تخزين مفاتيح مستندة إلى المضيف في ملف تخزين المفاتيح، فإن الترتيب مهم. إذا تم تحديد قيمة مفتاح في ملفات متعددة، ستحلّ القيمة في الملف الأخير محلّ القيم الأخرى.