在改注册流程,还在测...

This commit is contained in:
free will
2020-08-21 22:13:22 +08:00
parent 0e2076edb2
commit d22a358260
2 changed files with 60 additions and 55 deletions
@@ -575,7 +575,7 @@ public class MinoaDataAPI {
}
}
}, handleInterestTimeOutAndNack, handleInterestTimeOutAndNack);
} else if(orderPrefix.equals("/timeSync")){
} else if(orderPrefix.equals("/timeSync")||orderPrefix.equals("/register")){
face.expressInterest(interest, new OnData() {
@Override
public void onData(Interest interest, Data data) {
@@ -86,6 +86,7 @@ public class RegisterOverviewController {
CertificateV2 certificateV2= KeyManager.INSTANCE.initKeyChain(keyChainNameString).getCertification(keyChainNameString);
publicKey = Common.base64Encode(certificateV2.wireEncode().getImmutableArray(), false);
System.out.println("本地密钥keyName"+keyChainNameString);
System.out.println("密钥名称:"+certificateV2.getKeyName());
System.out.println("publicKey: "+publicKey);
} catch (Pib.Error | PibImpl.Error | Tpm.Error | TpmBackEnd.Error | CertificateV2.Error | KeyChain.Error error) {
error.printStackTrace();
@@ -99,56 +100,56 @@ public class RegisterOverviewController {
alert.showAndWait();
return ;
}
String registerJsonString = getRegisterJsonString(publicKey,username );
System.out.println("the registerjson string is "+registerJsonString);
// 标志该用户是否已经通过了区块链注册
boolean b_flag=RegisterUtil.isAccessedBlockUser(keyChainNameString);
b_flag=true;
// 如果没有注册成功过,向区块链发送注册信息;否则,跳过区块链注册
if(!b_flag) {
String pubkey = publicKey;
String phonenumber = phoneNumber.getText().trim();
NDNBlockChainConnectClient ndnBlockChainConnectClient = new NDNBlockChainConnectClient();
// String resString = ndnBlockChainConnectClient.registeNewUser(username,
// phonenumber, pubkey);
String resString = ndnBlockChainConnectClient.registeNewUser(RSACryptoByWgh.encrypt2(registerJsonString));
System.out.println("the return register information "+resString);
if (resString.equals("注册成功")) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("区块链注册成功");
alert.setHeaderText("区块链注册成功");
alert.setContentText("区块链反馈信息:\n" + resString
+"\n 请等待十秒,待区块链同步信息成功后,自动进行后续注册操作...");
alert.showAndWait();
dialogStage.close();
InstallTool.hasRegiste = true ;
} else {
// 区块链没有注册用户成功,则删掉刚刚生成的密钥文件
// try {
// KeyManager.INSTANCE.getKeyChain().deleteIdentity(new Name(keyChainNameString));
// System.out.println("已删除本地密钥:"+keyChainNameString);
// } catch (SecurityException e) {
// e.printStackTrace();
// String registerJsonString = getRegisterJsonString(publicKey,username );
// System.out.println("the registerjson string is "+registerJsonString);
// // 标志该用户是否已经通过了区块链注册
// boolean b_flag=RegisterUtil.isAccessedBlockUser(keyChainNameString);
// b_flag=true;
// // 如果没有注册成功过,向区块链发送注册信息;否则,跳过区块链注册
// if(!b_flag) {
//
// String pubkey = publicKey;
// String phonenumber = phoneNumber.getText().trim();
// NDNBlockChainConnectClient ndnBlockChainConnectClient = new NDNBlockChainConnectClient();
//// String resString = ndnBlockChainConnectClient.registeNewUser(username,
//// phonenumber, pubkey);
// String resString = ndnBlockChainConnectClient.registeNewUser(RSACryptoByWgh.encrypt2(registerJsonString));
// System.out.println("the return register information "+resString);
// if (resString.equals("注册成功")) {
// Alert alert = new Alert(Alert.AlertType.INFORMATION);
// alert.setTitle("区块链注册成功");
// alert.setHeaderText("区块链注册成功");
// alert.setContentText("区块链反馈信息:\n" + resString
// +"\n 请等待十秒,待区块链同步信息成功后,自动进行后续注册操作...");
// alert.showAndWait();
//// dialogStage.close();
//
// InstallTool.hasRegiste = true ;
// } else {
// // 区块链没有注册用户成功,则删掉刚刚生成的密钥文件
//// try {
//// KeyManager.INSTANCE.getKeyChain().deleteIdentity(new Name(keyChainNameString));
//// System.out.println("已删除本地密钥:"+keyChainNameString);
//// } catch (SecurityException e) {
//// e.printStackTrace();
//// }
// System.out.println("区块链后台注册用户【" + username + "】失败: " + resString);
// if(resString.length() > 0){
// Alert alert = new Alert(Alert.AlertType.ERROR);
// alert.setTitle("区块链注册失败");
// alert.setHeaderText("区块链注册失败");
// alert.setContentText("失败原因:\n" + resString+"\n");
// alert.showAndWait();
// }
System.out.println("区块链后台注册用户【" + username + "】失败: " + resString);
if(resString.length() > 0){
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("区块链注册失败");
alert.setHeaderText("区块链注册失败");
alert.setContentText("失败原因:\n" + resString+"\n");
alert.showAndWait();
}
return;
}
}
// 等待三秒
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// return;
// }
// }
// // 等待30秒
// try {
// Thread.sleep(30000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// 向区块链发送登录信息
LoginOverviewController lgcache=new LoginOverviewController();
String passwordString=passwordField1.getText().trim();
@@ -161,7 +162,11 @@ public class RegisterOverviewController {
alert.showAndWait();
return;
}
// 获取注册时JSON
// 区块链登录成功之后,在向后台发送注册请求前,先
// 通过timeSync接口进行时间戳同步
// MainApp.iniTimeStampBias();
// System.out.println("timeStampBias: "+MainApp.timeStampBias);
// 获取后台注册时的JSON
String registerJson=getRegisterJson(publicKey);
orderInfo.setJsonString(registerJson);
System.out.println("getRegisterJson: " + orderInfo.getJsonString());
@@ -181,10 +186,10 @@ public class RegisterOverviewController {
if (codeInteger == 200) {
// 注册之后,使用getNews消耗掉新通知
// makeNoticesBeRead();
// 如果该用户是原来注册中断的用户,移除其本地信息
if(b_flag) {
RegisterUtil.deleteAccessedBlockUser(keyChainNameString);
}
// // 如果该用户是原来注册中断的用户,移除其本地信息
// if(b_flag) {
// RegisterUtil.deleteAccessedBlockUser(keyChainNameString);
// }
// 将此时的keyChainName持久化到本地
MinoaDataAPI.keyChainNameString=keyChainNameString;
KeyStorageUtil.setKeyName(keyChainNameString);