Tink گاهی پیامهای خطایی مانند این تولید میکند
No wrapper registered for typeNo manager for type T has been registeredUnable to get primitive interface P for key of type T
این صفحه به اشکالزدایی چنین مشکلاتی کمک میکند.
مورد ۱: خطا با «No wrapper found» (پوشاننده پیدا نشد) یا عبارت مشابهی شروع میشود.
درحال فراخوانی GetPrimitive() هستید تا نوع اولیهای را دریافت کنید که در
Configuration شما نیست (یا ثبت نشده است).
در زبانهایی که شیء Configuration میگیرند (مثل Java و C++)، مطمئن شوید
Configuration را که از نوع اولیه پشتیبانی میکند ارسال کنید. در Java،
توصیه میکنیم TinkConfig2026.get() را ارسال کنید که از همه انواع پایه Tink
(ازجمله KeysetDeriver، JwtMac، JwtPublicKeySign، و
JwtPublicKeyVerify) یا پیکربندی خاص نوع پایه مثل
AeadConfig2026.get()، KeyDerivationConfig2026.get()، یا
JwtConfig2026.get() پشتیبانی میکند.
در زبانها یا میاناهای برنامهسازی کاربردی قدیمی که از ثبت جهانی استفاده میکنند (یا اگر
RegistryConfiguration.get() را در Java ارسال کنید) این مشکل معمولاً با فراخوانی
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 باشد.
یک مورد رایج این است که فردی تلاش میکند یک کلید عمومی اولیه را از یک مجموعه کلید
حاوی کلیدهای خصوصی دریافت کند. برای اینکه ببینید مشکل این است یا نه، بهجای آن
GetPrimitive() را در نتیجه GetPublicKeysetHandle() فراخوانی کنید.
اگر این کار کمکی نکرد، فهرست بهروزی از انواع کلیدها را میتوانید اینجا، در آزمایشهای بینزبانی ما پیدا کنید. باید بررسی کنید که آیا P اولیه همراه با نوع کلید T فهرست شده است یا نه.
اگر نوع اولیه با نوع کلید مربوطه فهرست شده باشد، ممکن است پیادهسازی Tink زبان شما از نوع کلید T پشتیبانی نکند. فهرست انواع کلید را بررسی کنید تا ببینید آیا Tink از نوع کلید شما در زبان شما پشتیبانی میکند یا نه.