public string login(bool useVirtualDevice, string pinCode, int credID, int groupID, int proverID, int securityLevel) { LoginComposite loginParam = new LoginComposite(useVirtualDevice, pinCode, credID, groupID, proverID); SessionData sData = new SessionData(loginParam, SessionData.generateSessionKey(), securityLevel); sessionDB.TryAdd(sData.sessionID, sData); return sData.sessionID; }
public static IssuerParameters convertIssuerParametersComposite(IssuerParametersComposite ipc, SessionData sessionData) { IssuerParameters ip = new IssuerParameters(); ip.E = ipc.E; if (sessionData.group == null) { GroupDescription sGroup = convertSubgroupDescription(ipc.Gq); ip.Gq = sGroup; } else { ip.Gq = sessionData.group; } GroupElement[] geArray = new GroupElement[ipc.G.Length]; for (int i = 0; i < ipc.G.Length; i++) { geArray[i] = ip.Gq.CreateGroupElement(ipc.G[i]); } ip.G = geArray; if (ipc.UsesRecommendedParameters && ipc.Gd == null) { ip.Gd = sessionData.parameterSet.Gd; } else if (ipc.Gd != null) { ip.Gd = ip.Gq.CreateGroupElement(ipc.Gd); } else { ip.Gd = ip.Gq.CreateGroupElement(ipc.Gq.Gd); //sessionData.groupElement;// parametersSet.Gd; } ip.S = ipc.S; ip.UidH = ipc.UidH; ip.UidP = ipc.UidP; ip.UsesRecommendedParameters = ipc.UsesRecommendedParameters; sessionData.group = ip.Gq; sessionData.groupElement = ip.Gd; return ip; }