ניפוי באגים ותיקון שגיאות רישום
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
לפעמים הפונקציה 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: השגיאה מסומנת בכוכב עם הכיתוב 'לא נמצא wrapper' או תוכן דומה.
מתבצעת קריאה ל-GetPrimitive()
כדי לקבל סוג פרימיטיבי שלא נרשם. בדרך כלל, מתקנים את הבעיה על ידי קריאה ל-TinkConfig.register()
במקום כלשהו מוקדם יותר בקובץ הבינארי. מספיק להירשם פעם אחת, ואפשר לעשות זאת בהתחלה.
חלק מהפרימיטיבים זקוקים לרישום מיוחד יותר.
- נדרש
KeyDerivationConfig.register()
לשימוש ב-KeysetDeriver
- נדרש
JwtMacConfig.register()
לשימוש ב-JwtMac
- ל-
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 תומך בסוג המפתח בשפה שלכם.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-25 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-25 (שעון UTC)."],[[["\u003cp\u003eTink error messages like "No wrapper registered" often indicate missing primitive registration, fixable with \u003ccode\u003eTinkConfig.register()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eErrors mentioning key type and primitive usually mean an incompatible keyset is used, like requesting a Mac with an Aead keyset.\u003c/p\u003e\n"],["\u003cp\u003ePublic key primitives require keysets obtained via \u003ccode\u003eGetPublicKeysetHandle()\u003c/code\u003e to avoid key type mismatches.\u003c/p\u003e\n"],["\u003cp\u003eVerify key type and primitive compatibility by checking the cross-language test resources and supported key types documentation for your language.\u003c/p\u003e\n"]]],["Tink error messages like \"No wrapper registered\" or \"Unable to get primitive\" indicate issues with key and primitive type registration or compatibility. For \"No wrapper\" errors, register the type using `TinkConfig.register()` or specialized methods like `KeyDerivationConfig.register()`. For primitive-key type mismatches, verify that the keyset's type matches the requested primitive, and use `GetPublicKeysetHandle()` for public keys. Check supported key type lists if registration or type-checking does not fix the issue.\n"],null,[]]