时间戳服务
This commit is contained in:
@ -43,7 +43,7 @@ public class TimeServiceConstant {
|
||||
TSASignedResult result = client.signTimeStamp("SHA1", data.getBytes("UTF-8"));
|
||||
//第四步:获取时间戳数据,tsaData为时间戳数据,验证时间戳时使用,如果不是实时验证,需要将时间戳数据保存在应用服务器
|
||||
byte[] tsaData = result.getSignedData();
|
||||
System.out.println("tsaData -->"+tsaData);
|
||||
log.info("tsaData -->"+tsaData);
|
||||
String timestamp = Base64.encodeBase64String(tsaData);
|
||||
return timestamp;
|
||||
}catch (Exception e){
|
||||
@ -102,55 +102,4 @@ public class TimeServiceConstant {
|
||||
}
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user