रजिस्ट्रेशन से जुड़ी गड़बड़ियां डीबग करना

Tink कभी-कभी गड़बड़ी के मैसेज दिखाता है. जैसे

  • No wrapper registered for type
  • No manager for type T has been registered
  • Unable to get primitive interface P for key of type T

इस पेज से, ऐसी समस्याओं को डीबग करने में मदद मिलती है.

केस 1: गड़बड़ी वाले स्टार के तौर पर "कोई रैपर नहीं मिला" या इससे मिलता-जुलता कोई रैपर नहीं मिला.

आपने GetPrimitive() को एक ऐसा प्रिमिटिव टाइप पाने के लिए कॉल किया है जिसका रजिस्ट्रेशन नहीं किया गया है. आम तौर पर, इस टाइप को पहले बाइनरी में TinkConfig.register() को कॉल करके ठीक किया जाता है. जब रजिस्ट्रेशन करना काफ़ी हो जाए, तो यह खाता स्टार्ट होने पर रजिस्टर किया जा सकता है.

कुछ प्रिमिटिव को ज़्यादा खास रजिस्ट्रेशन की ज़रूरत होती है.

  • KeysetDeriver के लिए KeyDerivationConfig.register() ज़रूरी है
  • JwtMac के लिए JwtMacConfig.register() ज़रूरी है
  • JwtPublicKeySign और JwtPublicKeyVerify के लिए JwtSignatureConfig.register() ज़रूरी है

दूसरा केस: गड़बड़ी के टाइप में कुंजी का टाइप और प्रिमिटिव होता है.

उदाहरण के लिए, P और T की कुछ खास वैल्यू के लिए, गड़बड़ी के तौर पर Unable to get primitive interface P for key of type T लिखा जा सकता है.

इस मामले में, Tink वह खास प्रिमिटिव नहीं बना पा रहा है जो आपने आपके पास मौजूद कीसेट के लिए पूछा है. आम तौर पर, ऐसा इसलिए होता है, क्योंकि आपके पास गलत टाइप का कीसेट है. उदाहरण के लिए, हो सकता है कि आपको Mac की ज़रूरत हो, लेकिन कीसेट Aead के लिए है.

एक आम वजह यह है कि कोई व्यक्ति निजी पासकोड वाले कीसेट से, सार्वजनिक पासकोड पाने की कोशिश करता है. यह देखने के लिए कि क्या यही समस्या है, इसके बजाय GetPublicKeysetHandle() के नतीजे पर GetPrimitive() को कॉल करें.

अगर इससे मदद नहीं मिलती, तो कुंजी टाइप की अप-टू-डेट सूची यहां देखी जा सकती है. यह सूची हमारे क्रॉस लैंग्वेज टेस्ट में दी गई है. आपको देखना चाहिए कि क्या प्रिमिटिव P और कुंजी टाइप T को एक साथ जोड़ा गया है या नहीं.

अगर प्रिमिटिव को उससे जुड़े कुंजी टाइप के साथ लिस्ट किया गया है, तो हो सकता है कि आपकी भाषा को Tink लागू करने के दौरान, कुंजी टाइप T के साथ काम न करता हो. मुख्य टाइप की सूची देखें और जानें कि Tink आपकी भाषा में, कुंजी टाइप के साथ काम करता है या नहीं.