fix(server): use CleartextKeysetHandle for admin E2EE encryption
This commit is contained in:
parent
e0026b6eff
commit
0a4d9fc20e
1 changed files with 4 additions and 2 deletions
|
|
@ -1,8 +1,10 @@
|
|||
package de.bollwerk.server.service
|
||||
|
||||
import com.google.crypto.tink.CleartextKeysetHandle
|
||||
import com.google.crypto.tink.HybridEncrypt
|
||||
import com.google.crypto.tink.JsonKeysetReader
|
||||
import com.google.crypto.tink.hybrid.HybridConfig
|
||||
import com.google.crypto.tink.hybrid.HybridEncryptFactory
|
||||
import de.bollwerk.server.repository.UserRepository
|
||||
import java.util.Base64
|
||||
|
||||
|
|
@ -26,8 +28,8 @@ internal class AdminMessageService(
|
|||
Base64.getDecoder().decode(publicKeyBase64),
|
||||
Charsets.UTF_8
|
||||
)
|
||||
val publicHandle = JsonKeysetReader.withString(publicKeysetJson).read()
|
||||
val hybridEncrypt = publicHandle.getPrimitive(HybridEncrypt::class.java)
|
||||
val publicHandle = CleartextKeysetHandle.read(JsonKeysetReader.withString(publicKeysetJson))
|
||||
val hybridEncrypt: HybridEncrypt = HybridEncryptFactory.getPrimitive(publicHandle)
|
||||
|
||||
val ciphertext = hybridEncrypt.encrypt(plaintext.toByteArray(Charsets.UTF_8), null)
|
||||
return Base64.getEncoder().encodeToString(ciphertext)
|
||||
|
|
|
|||
Loading…
Reference in a new issue