add:根据name(传入String)获取Identity;设置默认Identity(不带密码的)

This commit is contained in:
ChessNineeee
2021-06-12 10:26:34 +08:00
parent d117f5359b
commit d93a7af653
3 changed files with 77 additions and 1 deletions
+1 -1
View File
@@ -88,7 +88,6 @@ public class IdentityManager {
/**
* 从sqlite中加载全部网络身份信息并封装成identifies与versionMap
* @return {ConcurrentMap}
* @throws Exception
*/
private void loadAllIdentifies() throws Exception{
@@ -260,6 +259,7 @@ public class IdentityManager {
Persist.setDefaultIdentityByNameInStorage(identity.getName());
// 数据库设置成功后再设置内存中数据
this.defaultIdentity = identity;
this.version += 1;
return true;
}
+43
View File
@@ -98,6 +98,49 @@ public class KeyChain {
}
}
/**
* 设置默认的的网络身份,不带密码
* @param identity 身份对象
* @return boolean
* @author zhengqi wu
* @date 2021/6/12
**/
public void setDefaultIdentity(Identity identity) throws KeyChainException {
boolean res = false;
try {
res = this.identityManager.setDefaultIdentity(identity, true); // 操作修改到数据库中
}
catch (Exception e)
{
throw new KeyChainException("Set Default Identity Failed! " + e.getMessage());
}
if (!res)
{
throw new KeyChainException("Maybe the identity is null.");
}
this.currentIdentity = identity;
}
/**
* 以身份名称字符串名称获取身份对象,查询不到返回为空
* @param identityName 身份名称字符串
* @return Identity 身份对象
* @author zhengqi wu
* @date 2021/6/12
**/
public Identity getIdentityByName(String identityName) throws KeyChainException {
Identity res = null;
try {
res = this.identityManager.getIdentityByName(identityName);
}
catch (Exception e)
{
throw new KeyChainException("Get" + identityName + " failed! " + e.getMessage());
}
return res;
}
/**
* 为一个网络身份申请证书
* @param identity
+33
View File
@@ -92,6 +92,9 @@ public class KeyChainTest {
try {
// 测试设置新身份为当前身份
KeyChain keyChain = new KeyChain();
IdentityManager idm = keyChain.getIdentifyManager();
Identity testId = idm.getIdentityByName("aaa");
Identity id = createRandomIdentity();
// keyChain.getIdentifyManager().setDefaultIdentity(id, true);
// // 输入密码用于解锁身份
@@ -101,6 +104,36 @@ public class KeyChainTest {
}
}
@Test
public void testGetIdentity()
{
try {
// 测试设置新身份为当前身份
KeyChain keyChain = new KeyChain();
Identity res = keyChain.getIdentityByName("/wzq1");
LoggerHelper.info(res.toString());
}catch (Exception ex){
LoggerHelper.info(ex.getMessage());
}
}
@Test
public void testSetDefaultIdentity()
{
try {
// 测试设置新身份为当前身份
KeyChain keyChain = new KeyChain();
Identity res = keyChain.getCurrentIdentity();
LoggerHelper.info("当前默认身份信息:" + res.toString());
// keyChain.setDefaultIdentity(keyChain.getIdentityByName("/wzq1"));
keyChain.setDefaultIdentity(keyChain.getIdentityByName("/wzq0.18345388121889994"));
res = keyChain.getCurrentIdentity();
LoggerHelper.info("当前默认身份信息:" + res.toString());
}catch (Exception ex){
LoggerHelper.info(ex.getMessage());
}
}
@Test
public void testSignAndVerifyInterest(){
try {