fix(server): use direct Tink primitive for admin message encryption
This commit is contained in:
parent
cd8290098c
commit
e0026b6eff
1 changed files with 1 additions and 5 deletions
|
|
@ -27,11 +27,7 @@ internal class AdminMessageService(
|
||||||
Charsets.UTF_8
|
Charsets.UTF_8
|
||||||
)
|
)
|
||||||
val publicHandle = JsonKeysetReader.withString(publicKeysetJson).read()
|
val publicHandle = JsonKeysetReader.withString(publicKeysetJson).read()
|
||||||
|
val hybridEncrypt = publicHandle.getPrimitive(HybridEncrypt::class.java)
|
||||||
// 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 ciphertext = hybridEncrypt.encrypt(plaintext.toByteArray(Charsets.UTF_8), null)
|
val ciphertext = hybridEncrypt.encrypt(plaintext.toByteArray(Charsets.UTF_8), null)
|
||||||
return Base64.getEncoder().encodeToString(ciphertext)
|
return Base64.getEncoder().encodeToString(ciphertext)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue