Kayıt Hatalarında Ayıklama
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Tink bazen
No wrapper registered for type
No manager for type T has been registered
Unable to get primitive interface P for key of type T
Bu sayfa, bu tür sorunların giderilmesine yardımcı olur.
1. Örnek: Hata, "Sarmalayıcı bulunamadı" veya benzeri bir ifadeyle gösteriliyor.
GetPrimitive()
yöntemini, kaydedilmemiş bir temel türü almak için çağırıyorsunuz. Bu, genellikle ikili programda daha önce bir yerde TinkConfig.register()
çağrısı yapılarak düzeltilir. Kayıt işlemi yeterlidir. Bu işlem başlangıçta yapılabilir.
Bazı temel öğeler için daha özel kayıt gerekir.
KeysetDeriver
için KeyDerivationConfig.register()
gerekli
JwtMac
için JwtMacConfig.register()
gerekli
JwtPublicKeySign
ve JwtPublicKeyVerify
için
JwtSignatureConfig.register()
gerekli
2. Durum: Hatada bir anahtar türü ve bir temel öğe listelenir.
Örneğin, belirli bir P ve T değeri için hatada Unable to get primitive interface P for key
of type T
yazabilirsiniz.
Bu durumda Tink, sahip olduğunuz anahtar kümesi için istediğiniz
temel öğeyi oluşturamaz. Bunun nedeni genellikle yanlış tür için
anahtar kümenizin olmasıdır. Örneğin, bir Mac istiyor olabilirsiniz, ancak tuş takımı
Aead içindir.
Yaygın nedenlerden biri, özel anahtarlar içeren bir anahtar kümesinden ortak anahtar temel öğesi almaya çalışmaktır. Sorunun bu olup olmadığını görmek için GetPublicKeysetHandle()
yerine GetPrimitive()
sonucunu çağırmayı deneyin.
Bu işe yaramazsa anahtar türlerinin güncel bir listesini diller arası testlerimizde burada bulabilirsiniz. P temel türünün T anahtar türüyle birlikte listelenip listelenmediğini kontrol etmeniz gerekir.
Temel öğe, karşılık gelen anahtar türüyle listeleniyorsa dilinizin Tink uygulaması, T anahtar türünü desteklemiyor olabilir. Tink'in anahtar türünüzü dilinizde destekleyip desteklemediğini görmek için anahtar türleri listesini kontrol edin.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-25 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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,["# Debug Registration Errors\n\nTink sometimes produces error messages such as\n\n- `No wrapper registered for type`\n- `No manager for type T has been registered`\n- `Unable to get primitive interface P for key of type T`\n\nThis page helps to debug such issues.\n\nCase 1: The error stars with \"No wrapper found\" or similar.\n-----------------------------------------------------------\n\nYou are calling `GetPrimitive()` to get a primitive type that has not been\nregistered, which is generally fixed by calling `TinkConfig.register()`\nsomewhere earlier in the binary. Registering once suffices and can be done at\nstartup.\n\nSome primitives need more specialized registration.\n\n- `KeysetDeriver` requires `KeyDerivationConfig.register()`\n- `JwtMac` requires `JwtMacConfig.register()`\n- `JwtPublicKeySign` and `JwtPublicKeyVerify` require `JwtSignatureConfig.register()`\n\nCase 2: The error lists a key type and a primitive.\n---------------------------------------------------\n\nFor example, the error might say `Unable to get primitive interface P for key\nof type T` for some specific value of P and T.\n\nIn this case, Tink is unable to create the specific primitive you asked it\nfor the keyset you have. Typically, this happens because you have a keyset\nfor the wrong type. For example, you might be asking for a Mac, but the keyset\nis for Aead.\n\nOne common case is that one tries to get a public key primitive from a keyset\ncontaining private keys. To see if this is the problem, consider calling\n`GetPrimitive()` on the result of `GetPublicKeysetHandle()` instead.\n\nIf this does not help, an up to date list of the key types can be found\n[here](https://github.com/tink-crypto/tink-cross-lang-tests/blob/main/cross_language/cross_language/tink_config/_key_types.py),\nin our [cross language tests](https://github.com/tink-crypto/tink-cross-lang-tests/blob/main/cross_language/cross_language). You should check if the primitive P is listed\ntogether with the key type T.\n\nIf the primitive is listed with the corresponding key type, it may be that\nthe Tink implementation of your language does not support key type T. Check the\n[list of key types](/tink/supported-key-types) to see if Tink supports your key\ntype in your language."]]