diff --git a/src/main/java/VMSConnection/BC_API.java b/src/main/java/VMSConnection/BC_API.java index 4e95297..e54b98f 100644 --- a/src/main/java/VMSConnection/BC_API.java +++ b/src/main/java/VMSConnection/BC_API.java @@ -74,6 +74,18 @@ public class BC_API { return doRequest(this.ip,this.port,this.sslPort,request,"vpn","getVpnServerInfoByUserName"); } + public NetworkResponse getSMSCode(GetVerificationCode request){ + return doRequest(this.ip,this.port,this.sslPort,request,"sms","sendVerificationCode"); + } + + public NetworkResponse deleteMachineInfoFromUser(DeleteMachineInfoFromUser request){ + return doRequest(this.ip,this.port,this.sslPort,request,"machine","deleteMachineByUsernameForUser"); + } + + public NetworkResponse resetPasswd(ResetPassword request){ + return doRequest(this.ip,this.port,this.sslPort,request,"user","reset"); + } + public NetworkResponse doRequest(String ip, Integer port, Integer sslPort, BaseStruct model, String type, String command){ // 建立连接 diff --git a/src/main/java/VMSConnection/Model/DeleteMachineInfoFromUser.java b/src/main/java/VMSConnection/Model/DeleteMachineInfoFromUser.java index b3633bf..c7621c7 100644 --- a/src/main/java/VMSConnection/Model/DeleteMachineInfoFromUser.java +++ b/src/main/java/VMSConnection/Model/DeleteMachineInfoFromUser.java @@ -1,20 +1,22 @@ package VMSConnection.Model; +import VMSConnection.TCPNet.Message.BaseStruct; + /* * @Author: Wang Feng - * @Description: + * @Description: 删除设备 * @Version: 1.0.0 * @Date: 16:10 2021/11/3 * @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 */ -public class DeleteMachineInfoFromUser { +public class DeleteMachineInfoFromUser extends BaseStruct { public String UserName; public String MachineInfo; public String Phone; public String VC; - public DeleteMachineInfoFromUser(String userName, - String machineInfo, String phone, String VC) { + public DeleteMachineInfoFromUser(String userName, String machineInfo, + String phone, String VC) { UserName = userName; MachineInfo = machineInfo; Phone = phone; diff --git a/src/main/java/VMSConnection/Model/GetVerificationCode.java b/src/main/java/VMSConnection/Model/GetVerificationCode.java index a84e737..a040fc9 100644 --- a/src/main/java/VMSConnection/Model/GetVerificationCode.java +++ b/src/main/java/VMSConnection/Model/GetVerificationCode.java @@ -1,5 +1,7 @@ package VMSConnection.Model; +import VMSConnection.TCPNet.Message.BaseStruct; + /* * @Author: Wang Feng * @Description: 从VMS获取手机验证码 @@ -7,7 +9,7 @@ package VMSConnection.Model; * @Date: 16:09 2021/11/3 * @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 */ -public class GetVerificationCode { +public class GetVerificationCode extends BaseStruct { public String UserName; public String Phone; diff --git a/src/main/java/VMSConnection/Model/ResetPassword.java b/src/main/java/VMSConnection/Model/ResetPassword.java index d2355c1..78d73bd 100644 --- a/src/main/java/VMSConnection/Model/ResetPassword.java +++ b/src/main/java/VMSConnection/Model/ResetPassword.java @@ -1,5 +1,7 @@ package VMSConnection.Model; +import VMSConnection.TCPNet.Message.BaseStruct; + /* * @Author: Wang Feng * @Description: 修改密码 @@ -7,7 +9,7 @@ package VMSConnection.Model; * @Date: 16:02 2021/11/3 * @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室 */ -public class ResetPassword { +public class ResetPassword extends BaseStruct { public String Name; public String OldPassword; public String NewPassword; diff --git a/src/test/java/VMSConnection/TestAPI.java b/src/test/java/VMSConnection/TestAPI.java index c349156..8fd1194 100644 --- a/src/test/java/VMSConnection/TestAPI.java +++ b/src/test/java/VMSConnection/TestAPI.java @@ -1,8 +1,6 @@ package VMSConnection; -import VMSConnection.Model.LoginWithSignRequest; -import VMSConnection.Model.RegisterWithSignRequest; -import VMSConnection.Model.VpnServerInfoRequest; +import VMSConnection.Model.*; import VMSConnection.Security.BC_KeyManager; import VMSConnection.TCPNet.Message.NetworkResponse; import VMSConnection.Utils.Base64Helper; @@ -34,8 +32,10 @@ public class TestAPI { // System.out.println(res); // } public static void main(String[] args){ - String username="/fsGXUa2ss"; - String email="2hqeDsissssahHk3s@163.com"; + String username="comer1"; + String email="2hsagk3ss@163.com"; + String phone="15239970973"; + String passwd="password"; int userID=1; // 模拟客户端生成自己的公钥私钥 BC_KeyManager bc_keyManager=new BC_KeyManager(); @@ -44,19 +44,10 @@ public class TestAPI { byte[] sig; try { sig = bc_keyManager.SignRaw(username.getBytes(StandardCharsets.UTF_8)); -// .getBytes(StandardCharsets.UTF_8); } catch (CryptoException e) { e.printStackTrace(); return; } -// BigInteger[] sig; -// try { -// sig = bc_keyManager.SignNRS(username.getBytes(StandardCharsets.UTF_8)); -// } catch (CryptoException e) { -// e.printStackTrace(); -// return; -// } -// System.out.println("sig N、R、S: "+ Arrays.toString(sig)); // 打印签名、base64编码后的签名、原始姓名 System.out.println("rawsig: "+new String(sig)); @@ -65,72 +56,120 @@ public class TestAPI { System.out.println("raw text: "+username); // return; + boolean _regis=false; + boolean _login=false; + boolean _getvpninfo=false; + boolean _getsmscode=true; + boolean _deleteMachine=false; + boolean _changepw=false; + // 测试验签结果 // boolean rr=new BC_KeyManager().Verify(username.getBytes(StandardCharsets.UTF_8),new String(sig),pubkey); // System.out.println("测试验签结果2:"+rr); // 这里对sig进行一次base64编码 // sig=Base64Helper.BlockChain_Base64Encode(sig).getBytes(StandardCharsets.UTF_8); -// - // 构造注册请求包 13294184003 - RegisterWithSignRequest request=new RegisterWithSignRequest(userID,username,"password", - "15239970973","1234",email,"dev","", - pubkey,0,0,"1625142358",sig); - try { - System.out.println("register request: "+request.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } BC_API bc_api=new BC_API(); -// bc_api.ip="192.168.43.31"; - bc_api.ip="121.15.171.91"; - // 注册 - NetworkResponse networkResponse=bc_api.register(request); - try { - System.out.println("注册应答: "+networkResponse.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); + bc_api.ip="121.15.171.89"; // gdcni17 + + // 构造注册请求包 13294184003 + if(_regis){ + RegisterWithSignRequest request=new RegisterWithSignRequest(userID,username,passwd, + phone,"1234",email,"dev","", + pubkey,0,0,"1625142358",sig); + try { + System.out.println("register request: "+request.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // 注册 + NetworkResponse networkResponse=bc_api.register(request); + try { + System.out.println("注册应答: "+networkResponse.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + System.out.println(networkResponse.Code); } - System.out.println(networkResponse.Code); + // 构造登录请求包 -// LoginWithSignRequest loginWithSignRequest=new LoginWithSignRequest(username, -// "password",new String(networkResponse.Data),sig); - LoginWithSignRequest loginWithSignRequest=new LoginWithSignRequest(username, - "password","fucked cert",sig,"Android-GuessMe"); - - try { - System.out.println("login request: "+loginWithSignRequest.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); + if(_login){ + LoginWithSignRequest loginWithSignRequest=new LoginWithSignRequest(username, + "password","cert",sig,"Android-GuessMe3"); + try { + System.out.println("login request: "+loginWithSignRequest.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // 登录 + NetworkResponse networkResponse2=bc_api.login(loginWithSignRequest); + try { + System.out.println("登录应答: "+networkResponse2.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + System.out.println(networkResponse2.Code); } - // 登录 - NetworkResponse networkResponse2=bc_api.login(loginWithSignRequest); - try { - System.out.println("登录应答: "+networkResponse2.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - System.out.println(networkResponse2.Code); - // 构造vpnserver信息请求包 - VpnServerInfoRequest vpnServerInfoRequest=new VpnServerInfoRequest(userID,username); - try { - System.out.println("vpn request: "+vpnServerInfoRequest.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); + if(_getvpninfo){ + VpnServerInfoRequest vpnServerInfoRequest=new VpnServerInfoRequest(userID,username); + try { + System.out.println("vpn request: "+vpnServerInfoRequest.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // 获取vpnserver信息 + NetworkResponse networkResponse3=bc_api.getVpnServerInfo(vpnServerInfoRequest); + try { + System.out.println("获取vpn信息的应答: "+networkResponse3.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + System.out.println(networkResponse3.Code); } - // 获取vpnserver信息 - NetworkResponse networkResponse3=bc_api.getVpnServerInfo(vpnServerInfoRequest); - try { - System.out.println("获取vpn信息的应答: "+networkResponse3.toJson()); - } catch (IllegalAccessException e) { - e.printStackTrace(); + // 获取验证码 + if(_getsmscode){ + GetVerificationCode getVerificationCode=new GetVerificationCode(username,phone); + try { + System.out.println("sms request: "+getVerificationCode.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // 获取验证码 + NetworkResponse networkResponse3=bc_api.getSMSCode(getVerificationCode); + try { + System.out.println("获取验证码的应答: "+networkResponse3.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + System.out.println(networkResponse3.Code); } - System.out.println(networkResponse3.Code); + if(_deleteMachine){ + + } + + // 修改密码 + if(_changepw){ + ResetPassword resetPassword=new ResetPassword(username,passwd,passwd, + "cert",sig,String.valueOf(System.currentTimeMillis())); + try { + System.out.println("reset request: "+resetPassword.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // 获取验证码 + NetworkResponse networkResponse3=bc_api.resetPasswd(resetPassword); + try { + System.out.println("修改密码的应答: "+networkResponse3.toJson()); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + System.out.println(networkResponse3.Code); + } } }