mirror of
https://gitee.com/willfree/min-vpn-non-core.git
synced 2026-10-05 01:15:48 +08:00
测试登录成功,测试注册失败,失败原因大概率是因为服务器返回的证书没有进行解析和保存到本地,后面准备将这个项目代码合并到min-lib里,以更方便地调用min-lib的security模块(直接使用jar包进行调用时会报一些错)
This commit is contained in:
1 parent
7cd3b8c6f8
commit
307ea50cd9
4 files changed
+67
-14
No files matched your search
@@ -29,14 +29,14 @@ public class BaseStruct {
|
||||
Field f=fields[i];
|
||||
f.setAccessible(true);
|
||||
// 将属性值的名字的属性值的值放入jsonObject
|
||||
if(f.getType()==(byte[].class)){
|
||||
// byte[]需要编码base64
|
||||
byte[] rawS=(byte[])(f.get(this));
|
||||
String encodeS=Base64Helper.BlockChain_Base64Encode(rawS);
|
||||
jsonObject.put(f.getName(),encodeS);
|
||||
}else {
|
||||
// if(f.getType()==(byte[].class)){
|
||||
// // byte[]需要编码base64
|
||||
// byte[] rawS=(byte[])(f.get(this));
|
||||
// String encodeS=Base64Helper.BlockChain_Base64Encode(rawS);
|
||||
// jsonObject.put(f.getName(),encodeS);
|
||||
// }else {
|
||||
jsonObject.put(f.getName(), f.get(this));
|
||||
}
|
||||
// }
|
||||
}
|
||||
return jsonObject.toJSONString();
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package TCPNet;
|
||||
|
||||
import TCPNet.Message.BaseStruct;
|
||||
import Security.BC_KeyManager;
|
||||
import Utils.Base64Helper;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.bouncycastle.crypto.InvalidCipherTextException;
|
||||
|
||||
import javax.crypto.BadPaddingException;
|
||||
import javax.crypto.IllegalBlockSizeException;
|
||||
import javax.crypto.NoSuchPaddingException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@@ -21,6 +24,7 @@ import java.util.Random;
|
||||
* @Date: 20:50 2021/6/24
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
|
||||
class SSL_SetupMessage extends BaseStruct {
|
||||
public String Pubkey;
|
||||
public String Secretkey;
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
public class TestTCPClient {
|
||||
public static String ip="121.15.171.82";
|
||||
public static String ip="192.168.43.31";
|
||||
public static Integer port=12345;
|
||||
public static Integer sslPort=54321;
|
||||
public static String serverKey="04e067d23d3fd3ba4ead731b78346cde1084a83" +
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import Model.LoginWithSignRequest;
|
||||
import Security.BC_KeyManager;
|
||||
import TCPNet.Message.NetworkResponse;
|
||||
import Model.RegisterWithSignRequest;
|
||||
import Utils.Base64Helper;
|
||||
import org.bouncycastle.crypto.CryptoException;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/*
|
||||
* @Author: Wang Feng
|
||||
@@ -11,18 +16,62 @@ import Utils.Base64Helper;
|
||||
*/
|
||||
public class TestAPI {
|
||||
public static void main(String[] args){
|
||||
String pubkey="0430faa210c22db991d7bafcbc1f1682a6dbbbee1fa3838edc1be78de699df8aecaf0845bb1ff38e91394a41aae4f70cae" +
|
||||
"1abdd06c4428fc9fa5f0386d57036295";
|
||||
String baseSig="MEUCIQDvxeEX0JIATriXelXQLaecuEHti+dUebygANDyw7n0zQIgPMZhv5xEXs8td+Na8c9V1zRF5nUz+wurLi0iS4SBKFE=";
|
||||
byte[] sig= Base64Helper.BlockChain_Base64Decode_GoLanUn(baseSig);
|
||||
RegisterWithSignRequest request=new RegisterWithSignRequest(1,"/wefree","password",
|
||||
"13294184003","1234","2642222222@qq.com","dev","",
|
||||
// String pubkey="0430faa210c22db991d7bafcbc1f1682a6dbbbee1fa3838edc1be78de699df8aecaf0845bb1ff38e91394a41aae4f70cae" +
|
||||
// "1abdd06c4428fc9fa5f0386d57036295";
|
||||
// String baseSig="MEUCIQDvxeEX0JIATriXelXQLaecuEHti+dUebygANDyw7n0zQIgPMZhv5xEXs8td+Na8c9V1zRF5nUz+wurLi0iS4SBKFE=";
|
||||
// byte[] sig= Base64Helper.BlockChain_Base64Decode_GoLanUn(baseSig);
|
||||
// byte[] sig=baseSig.getBytes(StandardCharsets.UTF_8);
|
||||
String username="wefree2";
|
||||
String email="25255@qq.com";
|
||||
// 模拟客户端生成自己的公钥私钥
|
||||
BC_KeyManager bc_keyManager=new BC_KeyManager();
|
||||
bc_keyManager.GenKeyPair();
|
||||
String pubkey=bc_keyManager.GetPubkey();
|
||||
byte[] sig;
|
||||
try {
|
||||
sig = bc_keyManager.Sign(username.getBytes(StandardCharsets.UTF_8))
|
||||
.getBytes(StandardCharsets.UTF_8);
|
||||
} catch (CryptoException e) {
|
||||
e.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
// 构造注册请求包 13294184003
|
||||
RegisterWithSignRequest request=new RegisterWithSignRequest(1,username,"password",
|
||||
"15239970973","1234",email,"dev","",
|
||||
pubkey,0,0,"1625142358",sig);
|
||||
try {
|
||||
System.out.println("login 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();
|
||||
}
|
||||
System.out.println(networkResponse.Code);
|
||||
|
||||
// 构造登录请求包
|
||||
LoginWithSignRequest loginWithSignRequest=new LoginWithSignRequest(username,
|
||||
"password",new String(networkResponse.Data),sig);
|
||||
|
||||
// 登录
|
||||
NetworkResponse networkResponse2=bc_api.login(loginWithSignRequest);
|
||||
try {
|
||||
System.out.println("登录应答: "+networkResponse2.toJson());
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
System.out.println(networkResponse2.Code);
|
||||
|
||||
|
||||
// BC_API bc_api=new BC_API();
|
||||
// String register_info="{\"ID\":0,\"Name\":\"/wefree\",\"Password\":\"password\",\"Phone\":\"13294184003\"," +
|
||||
// "\"Invitation\":\"1234\",\"Email\":\"22915639348@qq.com\",\"DeviceInfo\":\"deviceInfo\",\"Certificate\":\"\"," +
|
||||
|
||||
Reference in new issue
Block a user