diff --git a/xxdk/e2e.go b/xxdk/e2e.go index 9900b08d4d50ee40a298bca4833f5ae2821dc82a..baf119e259d2029c6515d6f9ce73cde2077468bc 100644 --- a/xxdk/e2e.go +++ b/xxdk/e2e.go @@ -221,11 +221,26 @@ func login(client *Cmix, callbacks AuthCallbacks, return nil, err } - //load the new e2e storage - m.e2e, err = loadOrInitE2e(client, dhPrivKey) + // load or init the new e2e storage + m.e2e, err = e2e.Load(kv, + client.GetCmix(), identity.ID, e2eGrp, client.GetRng(), + client.GetEventReporter()) if err != nil { - return nil, errors.WithMessage(err, "Failed to load a "+ - "newly created e2e store") + //initialize the e2e storage + err = e2e.Init(kv, identity.ID, dhPrivKey, e2eGrp, + rekey.GetDefaultParams()) + if err != nil { + return nil, err + } + + //load the new e2e storage + m.e2e, err = e2e.Load(kv, + client.GetCmix(), identity.ID, e2eGrp, client.GetRng(), + client.GetEventReporter()) + if err != nil { + return nil, errors.WithMessage(err, "Failed to load a "+ + "newly created e2e store") + } } err = client.AddService(m.e2e.StartProcesses) @@ -244,36 +259,6 @@ func login(client *Cmix, callbacks AuthCallbacks, return m, err } -// loadOrInitE2e loads the modern e2e handler or makes a new one, -// generating a new e2e private key -func loadOrInitE2e(client *Cmix, privKey *cyclic.Int) (e2e.Handler, error) { - usr := client.GetStorage().PortableUserInfo() - e2eGrp := client.GetStorage().GetE2EGroup() - kv := client.GetStorage().GetKV() - - e2eHandler, err := e2e.Load(kv, - client.GetCmix(), usr.ReceptionID, e2eGrp, client.GetRng(), - client.GetEventReporter()) - if err != nil { - //initialize the e2e storage - err = e2e.Init(kv, usr.ReceptionID, privKey, e2eGrp, - rekey.GetDefaultParams()) - if err != nil { - return nil, err - } - - //load the new e2e storage - e2eHandler, err = e2e.Load(kv, - client.GetCmix(), usr.ReceptionID, e2eGrp, client.GetRng(), - client.GetEventReporter()) - if err != nil { - return nil, errors.WithMessage(err, "Failed to load a "+ - "newly created e2e store") - } - } - return e2eHandler, nil -} - // loadOrInitE2eLegacy loads the e2e handler or makes a new one, generating a new // e2e private key. It attempts to load via a legacy construction, then tries // to load the modern one, creating a new modern ID if neither can be found