Tink terkadang menghasilkan pesan error seperti
No wrapper registered for typeNo manager for type T has been registeredUnable to get primitive interface P for key of type T
Halaman ini membantu men-debug masalah tersebut.
Kasus 1: Error dimulai dengan "No wrapper found" atau yang serupa.
Anda memanggil GetPrimitive() untuk mendapatkan jenis primitif yang tidak ada di
Configuration (atau belum terdaftar).
Dalam bahasa yang menggunakan objek Configuration (seperti Java dan C++), pastikan
Anda meneruskan Configuration yang mendukung primitif. Di Java, sebaiknya teruskan TinkConfig2026.get(), yang mendukung semua primitif Tink (termasuk KeysetDeriver, JwtMac, JwtPublicKeySign, dan JwtPublicKeyVerify), atau konfigurasi khusus primitif seperti AeadConfig2026.get(), KeyDerivationConfig2026.get(), atau JwtConfig2026.get().
Dalam bahasa atau API lama yang menggunakan pendaftaran global (atau jika Anda meneruskan
RegistryConfiguration.get() di Java), hal ini umumnya diperbaiki dengan memanggil
TinkConfig.register() di suatu tempat sebelumnya dalam biner.
Pendaftaran cukup dilakukan sekali dan dapat dilakukan saat startup. Beberapa primitif memerlukan pendaftaran yang lebih khusus:
KeysetDerivermemerlukanKeyDerivationConfig.register()JwtMacmemerlukanJwtMacConfig.register()JwtPublicKeySigndanJwtPublicKeyVerifymemerlukanJwtSignatureConfig.register()
Kasus 2: Error mencantumkan jenis kunci dan primitif.
Misalnya, error mungkin menampilkan Unable to get primitive interface P for key
of type T untuk beberapa nilai P dan T tertentu.
Dalam hal ini, Tink tidak dapat membuat primitif tertentu yang Anda minta untuk keyset yang Anda miliki. Biasanya, hal ini terjadi karena Anda memiliki keyset untuk jenis yang salah. Misalnya, Anda mungkin meminta Mac, tetapi keyset-nya untuk Aead.
Salah satu kasus umum adalah seseorang mencoba mendapatkan primitif kunci publik dari keyset yang berisi kunci pribadi. Untuk melihat apakah ini masalahnya, pertimbangkan untuk memanggil
GetPrimitive() pada hasil GetPublicKeysetHandle().
Jika ini tidak membantu, daftar jenis kunci terbaru dapat ditemukan di sini, dalam pengujian lintas bahasa kami. Anda harus memeriksa apakah primitif P tercantum bersama dengan jenis kunci T.
Jika primitif tercantum dengan jenis kunci yang sesuai, mungkin implementasi Tink bahasa Anda tidak mendukung jenis kunci T. Periksa daftar jenis kunci untuk melihat apakah Tink mendukung jenis kunci Anda dalam bahasa Anda.