时间戳服务

This commit is contained in:
zhangqinbin
2021-04-01 13:39:44 +08:00
parent daa352a2c0
commit 57534338d4

View File

@ -43,7 +43,7 @@ public class TimeServiceConstant {
TSASignedResult result = client.signTimeStamp("SHA1", data.getBytes("UTF-8")); TSASignedResult result = client.signTimeStamp("SHA1", data.getBytes("UTF-8"));
//第四步:获取时间戳数据,tsaData为时间戳数据,验证时间戳时使用,如果不是实时验证,需要将时间戳数据保存在应用服务器 //第四步:获取时间戳数据,tsaData为时间戳数据,验证时间戳时使用,如果不是实时验证,需要将时间戳数据保存在应用服务器
byte[] tsaData = result.getSignedData(); byte[] tsaData = result.getSignedData();
System.out.println("tsaData -->"+tsaData); log.info("tsaData -->"+tsaData);
String timestamp = Base64.encodeBase64String(tsaData); String timestamp = Base64.encodeBase64String(tsaData);
return timestamp; return timestamp;
}catch (Exception e){ }catch (Exception e){
@ -102,55 +102,4 @@ public class TimeServiceConstant {
} }
return null; return null;
} }
/**
*
* @param
* @return
*/
public void getTSAClientTest() throws Exception{
Properties prop = new Properties();
ClassPathResource classPathResource = new ClassPathResource("cssconfig.properties");
InputStream inputStream =classPathResource.getInputStream();
//String path = ClassUtils.getDefaultClassLoader().getResource("").getPath();
//InputStream is = new FileInputStream("/resources/cssconfig.properties");
prop.load(inputStream);
inputStream.close();
try {
// 获得TSAClient工厂实例
TSAClientFactory factory = TSAClientFactory.newInstance(prop);
// 获得TSAClient
TSAClient client = (TSAClient) factory.getTSAClient();
// 待申请时间戳的原文
String source = "abcdefghijklmn";
//第三步:申请时间戳,向时间戳服务器发起申请时间戳请求,返回时间戳结果
TSASignedResult result = client.signTimeStamp("SHA1", source.getBytes("UTF-8"));
//第四步:获取时间戳数据,tsaData为时间戳数据,验证时间戳时使用,如果不是实时验证,需要将时间戳数据保存在应用服务器
byte[] tsaData = result.getSignedData();
System.out.println("tsaData -->"+tsaData);
String timestamp = Base64.encodeBase64String(tsaData);
System.out.println("timestamp -->"+timestamp);
TSAVerifyResult verifyResult = client.verifyTimeStamp(Base64.decodeBase64(timestamp));
System.out.println("verifyResult 1--> {}"+ verifyResult);
System.out.println("verifyResult 2--> {}"+ Base64.encodeBase64String(verifyResult.getData()));
System.out.println("verifyResult 3--> {}"+ verifyResult.getSignedTime());
System.out.println("verifyResult 4--> {}"+ verifyResult.getSignerSubject());
System.out.println("verifyResult 5--> {}"+ verifyResult.getSignerCertSerialNumber());
String time = new SimpleDateFormat("yyyyMMddHHmmss").format(verifyResult.getSignedTime());
System.out.println("verifyResult 5--> {}"+ time);
TtsAgent.TtsParseResult ttsParseResult = new TtsAgent.TtsParseResult(time, HelperUtil.bytesToHexString(verifyResult.getData()),
verifyResult.getSignerSubject());
System.out.println("timestamp -> {}"+ ttsParseResult.getTimestamp());
System.out.println("cert -> {}"+ttsParseResult.getCert());
System.out.println("hash -> {}"+ttsParseResult.getHash());
} catch (TSAException ex) {
System.out.println("时间戳申请失败, 失败原因: " + ex.getMessage());
}
}
} }