TimeStampToken 클래스 (bctsp-jdk16-1.46.jar)에는 두 가지 유효성 검사 메서드가 있으며 그 중 하나는 사용되지 않습니다.파일 시스템에서 .cer 파일을 사용하여 TimeStampToken의 유효성을 검사하는 방법은 무엇입니까?
deprecated 메서드는 인수로 X509Certificate를 사용하며 매우 쉽게 작성합니다.
InputStream inPFX = getClass().getClassLoader().getResourceAsStream("tsp.cer");
CertificateFactory cf = CertificateFactory.getInstance("X.509", "BC");
X509Certificate cert = (X509Certificate) cf.generateCertificate(inPFX);
// The validate method just takes the X509Certificate object
token.validate(cert, "BC");
새 메서드는 SignerInformationVerifier 개체를 사용합니다. SignerInformationVerifier를 만드는 방법을 찾았지만 올바른 방법이라고는 확신하지 못합니다.하지만 여전히 X509CertificateHolder 객체가 필요합니다.
- 어떻게 파일 시스템에 (* .cer 파일)
- 이이 TimeStampToken을 확인하는 SignerInformationVerifier을 만들 수있는 올바른 방법인가를 파일에서 X509CertificateHolder을 만들려면 어떻게해야합니까?
나의 현재 코드는 다음과 같습니다
TimeStampToken token = new TimeStampToken(new CMSSignedData(response));
X509CertificateHolder x = // HOW TODO THIS?
// create the SignerInformationVerifier object
DigestAlgorithmIdentifierFinder daif = new DefaultDigestAlgorithmIdentifierFinder();
DigestCalculatorProvider dcp = new BcDigestCalculatorProvider();
SignerInformationVerifier siv = new BcRSASignerInfoVerifierBuilder(daif, dcp).build(x509ch);
// use the new validate method
token.validate(siv);