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
|
package de.bollwerk.server.service
|
||||||
|
|
||||||
|
import com.google.crypto.tink.CleartextKeysetHandle
|
||||||
import com.google.crypto.tink.HybridEncrypt
|
import com.google.crypto.tink.HybridEncrypt
|
||||||
import com.google.crypto.tink.JsonKeysetReader
|
import com.google.crypto.tink.JsonKeysetReader
|
||||||
import com.google.crypto.tink.hybrid.HybridConfig
|
import com.google.crypto.tink.hybrid.HybridConfig
|
||||||
|
import com.google.crypto.tink.hybrid.HybridEncryptFactory
|
||||||
import de.bollwerk.server.repository.UserRepository
|
import de.bollwerk.server.repository.UserRepository
|
||||||
import java.util.Base64
|
import java.util.Base64
|
||||||
|
|
||||||
|
|
@ -26,8 +28,8 @@ internal class AdminMessageService(
|
||||||
Base64.getDecoder().decode(publicKeyBase64),
|
Base64.getDecoder().decode(publicKeyBase64),
|
||||||
Charsets.UTF_8
|
Charsets.UTF_8
|
||||||
)
|
)
|
||||||
val publicHandle = JsonKeysetReader.withString(publicKeysetJson).read()
|
val publicHandle = CleartextKeysetHandle.read(JsonKeysetReader.withString(publicKeysetJson))
|
||||||
val hybridEncrypt = publicHandle.getPrimitive(HybridEncrypt::class.java)
|
val hybridEncrypt: HybridEncrypt = HybridEncryptFactory.getPrimitive(publicHandle)
|
||||||
|
|
||||||
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