测试UDP-Face注册前缀,报错:收不到数据

This commit is contained in:
free will committed 2021-10-25 16:18:27 +08:00
1 parent ba22a9b81f
commit aaf5ef58ed
11 files changed
+219 -38

No files matched your search

+31 -5
View File
@@ -12,12 +12,38 @@ import VMSConnection.TCPNet.Message.NetworkResponse;
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class MIS_API extends BC_API {
public String ip="121.15.171.82";
public Integer port=8888;
public Integer sslPort=7777;
public String serverKey="04e067d23d3fd3ba4ead731b78346cde1084a83" +
"7760f234621e36a93632b6f6418d4d6b735cd0ee19a8707cec" +
"a12ee4ff8106196ad8122ab2c89a7e11ba00d35b7";
public MIS_API(){
init();
}
public MIS_API(String ip, Integer port, Integer sslPort, String serverKey) {
this.ip = ip;
this.port = port;
this.sslPort = sslPort;
this.serverKey = serverKey;
init();
}
public MIS_API(String ip, Integer port, Integer sslPort) {
this.ip = ip;
this.port = port;
this.sslPort = sslPort;
init();
}
/**
* 通知MIS获取手机验证码
* @param request
* @return
*/
public NetworkResponse getSMSMessage(AuthenticationRequest request){
public NetworkResponse getSMSMessage(MISAuthenticationRequest request){
return doRequest(this.ip,this.port,this.sslPort,request,
"identity-act","Authentication");
}
@@ -27,7 +53,7 @@ public class MIS_API extends BC_API {
* @param request
* @return
*/
public NetworkResponse registerMIS(RegisterRequest request){
public NetworkResponse registerMIS(MISRegisterRequest request){
return doRequest(this.ip,this.port,this.sslPort,request,
"identity-act","Registry");
}
@@ -37,7 +63,7 @@ public class MIS_API extends BC_API {
* @param request
* @return
*/
public NetworkResponse getValidIdentityMIS(GetValidIdentityRequest request){
public NetworkResponse getValidIdentityMIS(MISGetValidIdentityRequest request){
return doRequest(this.ip,this.port,this.sslPort,request,
"identity-act","GetValidIdentity");
}
@@ -47,7 +73,7 @@ public class MIS_API extends BC_API {
* @param request
* @return
*/
public NetworkResponse resetPasswordMIS(ResetPasswordRequest request){
public NetworkResponse resetPasswordMIS(MISResetPasswordRequest request){
return doRequest(this.ip,this.port,this.sslPort,request,
"identity-act","ResetPassword");
}
@@ -57,7 +83,7 @@ public class MIS_API extends BC_API {
* @param request
* @return
*/
public NetworkResponse uploadEncryptedPrikeyMIS(UploadEncryptedPrikeyRequest request){
public NetworkResponse uploadEncryptedPrikeyMIS(MISUploadEncryptedPrikeyRequest request){
return doRequest(this.ip,this.port,this.sslPort,request,
"identity-act","UploadEncryptedPrikey");
}
@@ -9,11 +9,11 @@ import VMSConnection.TCPNet.Message.BaseStruct;
* @Date: 15:55 2021/8/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class AuthenticationRequest extends BaseStruct {
public class MISAuthenticationRequest extends BaseStruct {
public String IdentityIdentifier;
public String Phone;
public AuthenticationRequest(String identityIdentifier, String phone) {
public MISAuthenticationRequest(String identityIdentifier, String phone) {
IdentityIdentifier = identityIdentifier;
Phone = phone;
}
@@ -9,14 +9,14 @@ import VMSConnection.TCPNet.Message.BaseStruct;
* @Date: 16:07 2021/8/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class GetValidIdentityRequest extends BaseStruct {
public class MISGetValidIdentityRequest extends BaseStruct {
public String IdentityIdentifier;
public String Passwd;
public String Phone;
public String VerificationCode;
public GetValidIdentityRequest(String identityIdentifier,
String passwd, String phone, String verificationCode) {
public MISGetValidIdentityRequest(String identityIdentifier,
String passwd, String phone, String verificationCode) {
IdentityIdentifier = identityIdentifier;
Passwd = passwd;
Phone = phone;
@@ -9,7 +9,7 @@ import VMSConnection.TCPNet.Message.BaseStruct;
* @Date: 16:02 2021/8/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class RegisterRequest extends BaseStruct {
public class MISRegisterRequest extends BaseStruct {
public String IdentityIdentifier;
public String Pubkey;
public String Passwd;
@@ -17,9 +17,9 @@ public class RegisterRequest extends BaseStruct {
public String Phone;
public String VerificationCode;
public RegisterRequest(String identityIdentifier,
String pubkey, String passwd,
String prikeyEncrypted, String phone, String verificationCode) {
public MISRegisterRequest(String identityIdentifier,
String pubkey, String passwd,
String prikeyEncrypted, String phone, String verificationCode) {
IdentityIdentifier = identityIdentifier;
Pubkey = pubkey;
Passwd = passwd;
@@ -9,7 +9,7 @@ import VMSConnection.TCPNet.Message.BaseStruct;
* @Date: 16:11 2021/8/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class ResetPasswordRequest extends BaseStruct {
public class MISResetPasswordRequest extends BaseStruct {
public String IdentityIdentifier;
public String PrePasswd;
public String Passwd;
@@ -17,9 +17,9 @@ public class ResetPasswordRequest extends BaseStruct {
public String Phone;
public String VerificationCode;
public ResetPasswordRequest(String identityIdentifier,
String prePasswd, String passwd,
String prikeyEncrypted, String phone, String verificationCode) {
public MISResetPasswordRequest(String identityIdentifier,
String prePasswd, String passwd,
String prikeyEncrypted, String phone, String verificationCode) {
IdentityIdentifier = identityIdentifier;
PrePasswd = prePasswd;
Passwd = passwd;
@@ -9,16 +9,16 @@ import VMSConnection.TCPNet.Message.BaseStruct;
* @Date: 16:13 2021/8/24
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class UploadEncryptedPrikeyRequest extends BaseStruct {
public class MISUploadEncryptedPrikeyRequest extends BaseStruct {
public String IdentityIdentifier;
public String Passwd;
public String PrikeyEncrypted;
public String Phone;
public String VerificationCode;
public UploadEncryptedPrikeyRequest(String identityIdentifier,
String passwd, String prikeyEncrypted,
String phone, String verificationCode) {
public MISUploadEncryptedPrikeyRequest(String identityIdentifier,
String passwd, String prikeyEncrypted,
String phone, String verificationCode) {
IdentityIdentifier = identityIdentifier;
Passwd = passwd;
PrikeyEncrypted = prikeyEncrypted;
+1 -1
View File
@@ -49,7 +49,7 @@ public class BC_API {
init();
}
private void init(){
public void init(){
// 初始化keymanager
this.tcpNet=new TCPNet();
this.keyManager=new BC_KeyManager();
@@ -59,16 +59,30 @@ public class BC_Encoder {
int length=ByteHelper.byteArrayToInt32(buf);
System.out.println("read 111: "+length);
// 读取真正的消息数据
byte[] pkg=new byte[length];
try {
int revL=channel.socket().getInputStream().read(pkg);
if(revL<0){
System.out.println("read len < 0");
byte[] pkg=new byte[length]; // 最终读取的数据区
byte[] cachepkg=new byte[length]; // 缓存数据区
int revL=0;
while (true) {
try {
// 读数据,拷进来
int len = channel.socket().getInputStream().read(cachepkg);
if (len < 0) {
System.out.println("read len < 0");
return null;
}
System.arraycopy(cachepkg,0,pkg,revL,len);
// 更新已读长度
revL+=len;
// 判断要不要继续读
if(revL >= length){
break;
}
// 如果继续读,则更新cachepkg大小
cachepkg=new byte[length-revL];
} catch (IOException e) {
e.printStackTrace();
return null;
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
System.out.println("read 222: "+new String(pkg));
return pkg;
+4 -4
View File
@@ -25,7 +25,7 @@ public class RegisterPrefixHelper implements IRegisterPrefixHelper {
*/
@Override
public boolean registerPrefix(Identifier identifier, LogicFace face, KeyChain keyChain) throws MgmtException {
try {
// try {
MIRController controller = MIRController.createMIRController(new LogicFaceBuilderInterface() {
@Override
public LogicFace LogicFaceBuilder() {
@@ -56,8 +56,8 @@ public class RegisterPrefixHelper implements IRegisterPrefixHelper {
}else{
throw new MgmtException("RegisterPrefixHelper.registerPrefix: "+response.msg);
}
}catch (MgmtException e){
throw new MgmtException("RegisterPrefixHelper.registerPrefix: "+e.getMessage());
}
// }catch (MgmtException e){
// throw new MgmtException("RegisterPrefixHelper.registerPrefix: "+e.getMessage());
// }
}
}
+120
View File
@@ -0,0 +1,120 @@
package MISConnection;
import MISConnection.Model.MISAuthenticationRequest;
import MISConnection.Model.MISGetValidIdentityRequest;
import MISConnection.Model.MISRegisterRequest;
import MISConnection.Model.MISResetPasswordRequest;
import VMSConnection.Model.VpnServerInfoRequest;
import VMSConnection.Security.BC_KeyManager;
import VMSConnection.TCPNet.Message.NetworkResponse;
/*
* @Author: Wang Feng
* @Description:
* @Version: 1.0.0
* @Date: 20:17 2021/7/1
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
*/
public class TestMisAPI {
// public static void main(String[] args){
// String pubkey="042faa5f5ea00eca6dc8df7bd4c7abcbf0a9af20d56d69b4a463bfd0750ee77d7b" +
// "9467e8815aa8e9b03106fa63cf85404a4999bcd874c7f64cf32908b2fbc37e17";
// String base64sig="TUVZQ0lRRGZsZEw3RkRmem1lQlBNemxqbmxTVFFNeEJWU3JGUFY1Ql" +
// "BfSDZiNzhRYlFJaEFLakpYRmRRUlZvX1l6TFVZY1lrS2N6U3hpcjNIdzhodnZmT1pFY3dfcWlw";
//// String rawSig= new String(Base64Helper.BlockChain_Base64Decode_GoLanUn(base64sig));
//// String rawSig="MEUCIFGGCE9qnvYemzJ1y_57CPopEbC_5SVSD2euqC0gzCfPAiEA7cS" +
//// "hWuyUgrA95JuzMzTdylWUjOatgGWI68ig_IrAR5U";
// String rawText="wefree7";
//
// BC_KeyManager bc=new BC_KeyManager();
// bc.SetPubkey(pubkey);
// boolean res=bc.Verify(rawText.getBytes(StandardCharsets.UTF_8),base64sig,pubkey);
// System.out.println(res);
// }
public static void main(String[] args){
// String username="fsGXUa2ss";
String email="2hqeDsissssahHk3s@163.com";
int userID=1;
// 模拟客户端生成自己的公钥私钥
BC_KeyManager bc_keyManager=new BC_KeyManager();
bc_keyManager.GenKeyPair();
String pubkey=bc_keyManager.GetPubkey();
String username="xzwtest1";
String phone="86"+"18186152440";
// String passwd="Xiaowei199876!";
String passwd="5f46cb23a9ca184f58715278a688e7f6";
// 构造验证码请求包
MISAuthenticationRequest request=new MISAuthenticationRequest("/"+username,phone);
try {
System.out.println("sms request: "+request.toJson());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
MIS_API mis_api=new MIS_API();
mis_api.ip="192.168.3.15";
System.out.println(mis_api.ip+mis_api.port+mis_api.sslPort);
// 手机验证码
// NetworkResponse networkResponse=mis_api.getSMSMessage(request);
// try {
// System.out.println("获取验证码应答: "+networkResponse.toJson());
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
// System.out.println(networkResponse.Code);
//// // 注册
// MISRegisterRequest registerRequest=new MISRegisterRequest("/"+username,
// pubkey,passwd,"hello,iamtheprikeyencrypted",
// phone,"640432");
// try {
// System.out.println("register request: "+registerRequest.toJson());
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
//
// // 获取注册应答
// NetworkResponse networkResponse3=mis_api.registerMIS(registerRequest);
// try {
// System.out.println("获取注册应答: "+networkResponse3.toJson());
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
// System.out.println(networkResponse3.Code);
// // 获取已注册的身份信息
// MISGetValidIdentityRequest getValidIdentityRequest=new MISGetValidIdentityRequest("/"+username,
// passwd,phone,"454308");
// try {
// System.out.println("getidentity request: "+getValidIdentityRequest.toJson());
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
// NetworkResponse networkResponse3=mis_api.getValidIdentityMIS(getValidIdentityRequest);
// try {
// System.out.println("获取身份应答: "+networkResponse3.toJson());
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// }
// System.out.println(networkResponse3.Code);
// 更改密码及私钥
MISResetPasswordRequest rese=new MISResetPasswordRequest("/"+username,
passwd,"new12345",
"hello,iamtheprikeyencrypted.iamnew.",phone,"321521");
try {
System.out.println("reset request: "+rese.toJson());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
NetworkResponse networkResponse3=mis_api.resetPasswordMIS(rese);
try {
System.out.println("更改密码及密钥应答: "+networkResponse3.toJson());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
System.out.println(networkResponse3.Code);
}
}
@@ -2,6 +2,8 @@ package mgmt;
import component.ComponentException;
import component.Identifier;
import examples.KeyManagerExample;
import examples.TestKeyManagerExample;
import logicface.LogicFace;
import logicface.LogicFaceException;
import org.junit.Test;
@@ -19,14 +21,33 @@ public class RegisterPrefixHelperTest {
@Test
public void registerPrefixTest() throws Exception {
// 注册前缀Identifier
Identifier identifier=new Identifier("/hello/wefree");
Identifier identifier=new Identifier("/hello/wefree"+System.currentTimeMillis());
// 初始化face
LogicFace face=new LogicFace();
face.initWithUdp("127.0.0.1",50000);
// face.initWithUdp("127.0.0.1",14922);
face.initWithUdp("14.215.134.202",14922);
// 初始化KeyChain
// KeyChain keyChain=new KeyChain();
RegisterPrefixHelper helper=new RegisterPrefixHelper();
helper.registerPrefix(identifier,face,null);
KeyManagerExample.INSTANCE.initKeyChain("/wefree/test","D://");
face.setKeyChain(KeyManagerExample.INSTANCE.getKeyChain());
helper.registerPrefix(identifier,face,KeyManagerExample.INSTANCE.getKeyChain());
}
@Test
public void registerPrefixByTest() throws Exception {
// 注册前缀Identifier
Identifier identifier=new Identifier("/min/gdcni9/wefree/"
+System.currentTimeMillis());
// 初始化face
LogicFace face=new LogicFace();
// face.initWithTcp("14.215.134.202",14922);
face.initWithUdp("14.215.134.202",14922);
RegisterPrefixHelper helper=new RegisterPrefixHelper();
KeyManagerExample.INSTANCE.initKeyChain("/wefree/test","D://");
face.setKeyChain(KeyManagerExample.INSTANCE.getKeyChain());
face.registerIdentifier(identifier,5000,helper);
}
}