แก้ไขข้อผิดพลาดในการลงทะเบียน
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
บางครั้ง 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()
ในไบนารีก่อนหน้านี้ การลงทะเบียนเพียงครั้งเดียวก็เพียงพอและสามารถทำได้เมื่อเริ่มต้น
ประเภทพื้นฐานบางอย่างจำเป็นต้องมีการลงทะเบียนแบบพิเศษมากขึ้น
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 รองรับประเภทคีย์ในภาษาของคุณหรือไม่
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-03-04 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"]],["อัปเดตล่าสุด 2024-03-04 UTC"],[[["Tink error messages like \"No wrapper registered\" often indicate missing primitive registration, fixable with `TinkConfig.register()`."],["Errors mentioning key type and primitive usually mean an incompatible keyset is used, like requesting a Mac with an Aead keyset."],["Public key primitives require keysets obtained via `GetPublicKeysetHandle()` to avoid key type mismatches."],["Verify key type and primitive compatibility by checking the cross-language test resources and supported key types documentation for your language."]]],["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"]]