कीस्टोर के साथ स्टोर सीक्रेट

Tradefed में कीस्टोर का कॉन्सेप्ट शामिल है. इसमें, कीस्टोर सेवा में गोपनीय जानकारी सेव की जा सकती है. साथ ही, जांच के दौरान इस्तेमाल करने के लिए, जांच के दौरान अनुरोध किया जा सकता है.

कीस्टोर का इस्तेमाल करें

किसी पासकोड कोड का इस्तेमाल करने के लिए, आपको पहले अपने ग्लोबल कॉन्फ़िगरेशन में पासकोड कोड का सोर्स तय करना होगा.

यह कार्रवाई पूरी होने के बाद, सेव की गई कुंजियों को इसके ज़रिए इस्तेमाल किया जा सकता है: USE_KEYSTORE@{key}

JSONFileKeyStore

Tradefed कोर में सैंपल लागू करने के लिए, JSONFileKeyStoreClient JSON पासकोड का इस्तेमाल किया जाता है. इस पासकोड स्टोर का इस्तेमाल करने के लिए, आपको एक 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 के साथ बताई गई पासकोड फ़ाइल में बताई गई वैल्यू को बदल देती है.

जब कीस्टोर में एक से ज़्यादा होस्ट पर आधारित कीस्टोर फ़ाइलें मौजूद होती हैं, तो उनका क्रम मायने रखता है. अगर किसी कुंजी की वैल्यू कई फ़ाइलों में तय की गई है, तो ऐसी आखिरी फ़ाइल में मौजूद वैल्यू, बाकी सभी फ़ाइलों में मौजूद वैल्यू को बदल देती है.