sdf api
This commit is contained in:
@@ -174,11 +174,10 @@ public class TmkService {
|
||||
|
||||
|
||||
public void checkSoftDeviceTmk() {
|
||||
if (!isTmkInit() || !isEnableSoftDevice()) {
|
||||
if (Objects.nonNull(getSoftDeviceEncTmk())) {
|
||||
return;
|
||||
}
|
||||
byte[] softTmk = getSoftDeviceEncTmk();
|
||||
if (Objects.nonNull(softTmk)) {
|
||||
if (!isTmkInit() || !isEnableSoftDevice()) {
|
||||
return;
|
||||
}
|
||||
log.warn("enabled soft device but no tmk in soft");
|
||||
@@ -220,9 +219,17 @@ public class TmkService {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isTmkInit() {
|
||||
private boolean tmkInit;
|
||||
private boolean enableSoftDevice;
|
||||
private byte[] softEncTmk;
|
||||
|
||||
public synchronized boolean isTmkInit() {
|
||||
if (tmkInit) {
|
||||
return true;
|
||||
}
|
||||
ParamConf conf = paramConfMapper.selectByKey(ParamConfKeyConstant.TMK_INIT);
|
||||
return conf != null && String.valueOf(true).equals(conf.getValue());
|
||||
tmkInit = conf != null && String.valueOf(true).equals(conf.getValue());
|
||||
return tmkInit;
|
||||
}
|
||||
|
||||
public boolean isEnableSoftDevice() {
|
||||
@@ -244,16 +251,20 @@ public class TmkService {
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] getSoftDeviceEncTmk() {
|
||||
public synchronized byte[] getSoftDeviceEncTmk() {
|
||||
boolean tmkInit = isTmkInit();
|
||||
Assert.isTrue(tmkInit, "主密钥未初始化");
|
||||
boolean enabled = isEnableSoftDevice();
|
||||
Assert.isTrue(enabled, "未启用软设备");
|
||||
if (softEncTmk != null) {
|
||||
return softEncTmk;
|
||||
}
|
||||
ParamConf conf = paramConfMapper.selectByKey(ParamConfKeyConstant.SOFT_ENC_TMK);
|
||||
if (conf == null || ObjectUtils.isEmpty(conf.getValue())) {
|
||||
return null;
|
||||
}
|
||||
return CodecUtils.decodeBase64(conf.getValue());
|
||||
softEncTmk = CodecUtils.decodeBase64(conf.getValue());
|
||||
return softEncTmk;
|
||||
}
|
||||
|
||||
private void updateSoftDeviceEncTmk(byte[] encTmk) {
|
||||
|
||||
Reference in New Issue
Block a user