fix(server): use direct Tink primitive for admin message encryption

This commit is contained in:
Jens Reinemann 2026-05-18 16:17:50 +02:00
parent cd8290098c
commit e0026b6eff

View file

@ -27,11 +27,7 @@ internal class AdminMessageService(
Charsets.UTF_8
)
val publicHandle = JsonKeysetReader.withString(publicKeysetJson).read()
// Use reflection to call getPrimitive since it may not be directly accessible
val getPrimitiveMethod = publicHandle::class.java.getMethod("getPrimitive", Class::class.java)
@Suppress("UNCHECKED_CAST")
val hybridEncrypt = getPrimitiveMethod.invoke(publicHandle, HybridEncrypt::class.java) as HybridEncrypt
val hybridEncrypt = publicHandle.getPrimitive(HybridEncrypt::class.java)
val ciphertext = hybridEncrypt.encrypt(plaintext.toByteArray(Charsets.UTF_8), null)
return Base64.getEncoder().encodeToString(ciphertext)