From d22a358260110d63a2f215e8c237f89d2cec3a26 Mon Sep 17 00:00:00 2001 From: free will <2647778488@qq.com> Date: Fri, 21 Aug 2020 22:13:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E6=94=B9=E6=B3=A8=E5=86=8C=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=EF=BC=8C=E8=BF=98=E5=9C=A8=E6=B5=8B...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataRequestInterface/MinoaDataAPI.java | 2 +- .../login/RegisterOverviewController.java | 113 +++++++++--------- 2 files changed, 60 insertions(+), 55 deletions(-) diff --git a/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java b/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java index b6db2fa..05d319c 100644 --- a/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java +++ b/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java @@ -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) { diff --git a/src/main/java/cn/minoa/view/login/RegisterOverviewController.java b/src/main/java/cn/minoa/view/login/RegisterOverviewController.java index 4ff9db0..6129a04 100644 --- a/src/main/java/cn/minoa/view/login/RegisterOverviewController.java +++ b/src/main/java/cn/minoa/view/login/RegisterOverviewController.java @@ -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);