public ResultArgs CreateAppAuthenDongle(String userId, DongleUserInfo keyInfo) { ResultArgs ret = new ResultArgs(false); if (!IsActive()) { ret.Msg = "Create authen key failed -- no dongle opened!"; logger.Debug(ret.Msg); return(ret); } byte[] newAdminPin; byte[] appId; if (!Initialize(this.hDongle, userId, out newAdminPin, out appId)) { ret.Msg = "initialize dongle failed "; return(ret); } if (!CreateUserInfo(this.hDongle, keyInfo) || !CreateAuthenKeyFile(this.hDongle)) { ret.Msg = "Create Key info file failed !"; return(ret); } return(CreateAuthenKey(userId, appId, newAdminPin)); }
private void BtnCreateUserRootKey_Click(object sender, EventArgs e) { int selected = this.Dongles.SelectedIndex; byte[] userRootKey = HexString.FromHexString(this.UserRootKey.Text.Trim(), "-"); String userId = this.UserID.Text.Trim(); DongleUserInfo keyInfo = DongleUserInfo.CreateTestDongleKeyInfo(DongleType.USER_ROOT, userId); ResultArgs arg = this.dongle.CreateUserRootDongle(userId, userRootKey, keyInfo); if (arg.Succ) { this.TraceMsg.Trace(String.Format("Create user root key ok! "), true); UserRootDongleResult res = (UserRootDongleResult)arg.Result; this.TraceMsg.Trace(res.ToString()); logger.Debug(res.ToString()); } else { this.TraceMsg.Trace(String.Format("Create user root key Error! err msg = {0}", this.dongle.LastErrorMessage), true); } // refresh dongle RefreshDongle(false); }
private void BtnConvert2Json_Click(object sender, EventArgs e) { DongleUserInfo keyInfo = DongleUserInfo.CreateTestDongleKeyInfo(DongleType.USER_ROOT, "01234567"); String jsonData = JsonConvert.SerializeObject(keyInfo); this.Trace.Trace(jsonData, true); }
public IHttpActionResult Create(dynamic request) { String userId = Convert.ToString(request.userId); String jsonString = Convert.ToString(request.keyInfo); DongleUserInfo keyInfo = JsonConvert.DeserializeObject <DongleUserInfo>(jsonString); ResultArgs ret = DongleUtil.dongle.CreateAppAuthenDongle(userId, keyInfo); return(Json <ResultArgs>(ret)); }
private DongleUserInfoStru CreateUserInfoStru(DongleUserInfo keyInfo) { DongleUserInfoStru stru = new DongleUserInfoStru(); stru.DongleType = (byte)keyInfo.DongleType; stru.UserId = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.UserId), 6); stru.UserName = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.UserName), 64); stru.CreateDate = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.CreateDate), 14); stru.Operator = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.Operator), 3); return(stru); }
private DongleUserInfo ParseDongleKeyInfo(byte[] buffer) { DongleUserInfoStru keyInfoStru = ByteUtil.CopyToStru <DongleUserInfoStru>(buffer); DongleUserInfo keyInfo = new DongleUserInfo(); keyInfo.DongleType = (DongleType)keyInfoStru.DongleType; keyInfo.UserId = encoder.GetString(keyInfoStru.UserId); keyInfo.UserName = encoder.GetString(keyInfoStru.UserName).TrimEnd('\0'); keyInfo.Operator = encoder.GetString(keyInfoStru.Operator); keyInfo.CreateDate = encoder.GetString(keyInfoStru.CreateDate); return(keyInfo); }
public IHttpActionResult Create(dynamic request) { String userId = Convert.ToString(request.userId); String rootKey = Convert.ToString(request.rootKey); byte[] rootKeyBytes = HexString.FromHexString(rootKey); String jsonString = Convert.ToString(request.keyInfo); DongleUserInfo keyInfo = JsonConvert.DeserializeObject <DongleUserInfo>(jsonString); ResultArgs ret = DongleUtil.dongle.CreateUserRootDongle(userId, rootKeyBytes, keyInfo); return(Json <ResultArgs>(ret)); }
/// <summary> /// Create user root dongle /// userRootKey can't less 16 bytes /// </summary> public ResultArgs CreateUserRootDongle(String userId, byte[] userRootKey, DongleUserInfo keyInfo) { ResultArgs ret = new ResultArgs(false); if (!IsActive()) { ret.Msg = "Create user root key failed -- no dongle opened!"; logger.Debug(ret.Msg); return(ret); } byte[] newAdminPin; byte[] appId; if (!Initialize(this.hDongle, userId, out newAdminPin, out appId)) { ret.Msg = "initialize dongle failed "; return(ret); } if (!CreateUserInfo(this.hDongle, keyInfo) || !CreateUserRootKeyFile(this.hDongle, DongleConst.USER_ROOT_KEY_DESCRIPTOR, userRootKey)) { ret.Msg = "Create User root Key failed !"; return(ret); } // renew appid this.dongleInfo[this.selectedIndex].AppId = this.Encoder.GetString(appId); // reset authen status as anonymous Reset(); ret.Succ = true; ret.Result = new UserRootDongleResult { KeyPwd = this.Encoder.GetString(newAdminPin), AppId = this.dongleInfo[this.selectedIndex].AppId, KeyId = this.dongleInfo[this.selectedIndex].KeyId, Version = this.dongleInfo[this.selectedIndex].Version, UserId = userId, TestCipher = CreateTestCipher(userId) }; return(ret); }
public bool CreateUserInfo(DONGLE_HANDLER hDongle, DongleUserInfo userInfo) { if (!CreateUserInfoFile(hDongle)) { return(false); } DongleUserInfoStru stru = CreateUserInfoStru(userInfo); IntPtr ptr = IntPtrUtil.CreateByStru(stru); byte[] dest = new byte[IntPtrUtil.SizeOf(stru.GetType())]; Marshal.Copy(ptr, dest, 0, dest.Length); this.lastErrorCode = Dongle_WriteFile( hDongle, RockeyArmFileType.FILE_DATA, DongleConst.USER_INFO_DESCRIPTOR, 0, dest, dest.Length); IntPtrUtil.Free(ref ptr); return(IsSucc); }
private void BtnCreateAuthenKey_Click(object sender, EventArgs e) { int selected = this.Dongles.SelectedIndex; String userId = this.UserID.Text.Trim(); DongleUserInfo keyInfo = DongleUserInfo.CreateTestDongleKeyInfo(DongleType.AUTHEN, userId); ResultArgs arg = this.dongle.CreateAppAuthenDongle(userId, keyInfo); if (arg.Succ) { this.TraceMsg.Trace(String.Format("Create Authen key ok! "), true); AppAuthenDongleResult res = (AppAuthenDongleResult)arg.Result; this.TraceMsg.Trace(res.ToString()); logger.Debug(res.ToString()); } else { this.TraceMsg.Trace(String.Format("Create Authen key Error! err msg = {0}", this.dongle.LastErrorMessage), true); } // refresh dongle RefreshDongle(false); }