Properly handle invites with LDAP backend

This commit is contained in:
Maxime Dor
2017-09-13 01:16:02 +02:00
parent 001de470ca
commit 548dace78c
17 changed files with 344 additions and 82 deletions

View File

@@ -20,6 +20,7 @@
package io.kamax.mxisd.signature
import com.google.gson.JsonObject
import io.kamax.mxisd.config.ServerConfig
import io.kamax.mxisd.key.KeyManager
import net.i2p.crypto.eddsa.EdDSAEngine
@@ -41,20 +42,13 @@ class SignatureManager implements InitializingBean {
private EdDSAEngine signEngine
// FIXME we need to return a proper object, or a string with the signature and all?
Map<?, ?> signMessage(String message) {
private String sign(String message) {
byte[] signRaw = signEngine.signOneShot(message.getBytes())
String sign = Base64.getEncoder().encodeToString(signRaw)
return [
"${srvCfg.getName()}": [
"ed25519:${keyMgr.getCurrentIndex()}": sign
]
]
return Base64.getEncoder().encodeToString(signRaw)
}
JSONObject signMessageJson(String message) {
byte[] signRaw = signEngine.signOneShot(message.getBytes())
String sign = Base64.getEncoder().encodeToString(signRaw)
String sign = sign(message)
JSONObject keySignature = new JSONObject()
keySignature.put("ed25519:${keyMgr.getCurrentIndex()}", sign)
@@ -64,6 +58,17 @@ class SignatureManager implements InitializingBean {
return signature
}
JsonObject signMessageGson(String message) {
String sign = sign(message)
JsonObject keySignature = new JsonObject()
keySignature.addProperty("ed25519:${keyMgr.getCurrentIndex()}", sign)
JsonObject signature = new JsonObject()
signature.add("${srvCfg.getName()}", keySignature);
return signature
}
@Override
void afterPropertiesSet() throws Exception {
signEngine = new EdDSAEngine(MessageDigest.getInstance(keyMgr.getSpecs().getHashAlgorithm()))