تصحيح أخطاء التسجيل

يُنتج 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().

الحالة 2: يدرج الخطأ نوع مفتاح ونوع أوّلي.

على سبيل المثال، قد يشير الخطأ إلى Unable to get primitive interface P for key of type T لقيمة محددة لـ P وT.

في هذه الحالة، لا يستطيع Tink إنشاء الوحدة الأساسية المحددة التي طلبتها لمجموعة المفاتيح التي لديك. عادةً ما يحدث هذا لأن لديك مجموعة مفاتيح للنوع الخطأ. على سبيل المثال، قد تطلب جهاز Mac، لكن مجموعة المفاتيح مخصصة لـ Aead.

إحدى الحالات الشائعة هي محاولة الشخص الحصول على إصدار أولي للمفتاح العام من مجموعة مفاتيح تحتوي على مفاتيح خاصة. لمعرفة ما إذا كانت هذه هي المشكلة، يمكنك الاتصال بـ GetPrimitive() على نتيجة GetPublicKeysetHandle() بدلاً من ذلك.

إذا لم ينجح هذا الإجراء، يمكنك العثور على قائمة حديثة بأنواع الملفات الرئيسية هنا ضِمن اختباراتنا المتعدّدة اللغات. يجب عليك التحقق مما إذا كان الحرف P الأساسي مدرج مع النوع الرئيسي T.

إذا تم إدراج المجموعة الأساسية مع النوع الرئيسي المقابل، فقد يكون أن تنفيذ Tink بلغتك لا يدعم النوع الرئيسي T. يمكنك الاطّلاع على قائمة الأنواع الرئيسية لمعرفة ما إذا كان تطبيق Tink متوافقًا مع نوع المفتاح بلغتك.