System.out.println("certs=" + certs); String hashAlgorithm = timeStampToken.getTimeStampInfo().getMessageImprintAlgOID().getId();
/** * Retrieves timestamp responses signature * algorithm OID. * @return responses signature algorithm OID */ public String getAlgorithmOid() { String oid = null; if(m_tsTinfo != null) { oid = m_tsTinfo.getMessageImprintAlgOID().getId(); } return oid; }
public static void verifyTimeStampTokenDigest( TimeStampToken timeStampToken, TimeStampDigestInput digestInput) throws XAdESValidationException { LOG.debug("digest verification: algo=" + timeStampToken.getTimeStampInfo().getMessageImprintAlgOID()); MessageDigest md; try { md = MessageDigest.getInstance(timeStampToken.getTimeStampInfo() .getMessageImprintAlgOID()); } catch (NoSuchAlgorithmException e) { throw new XAdESValidationException(e); } // LOG.debug("digest input: " + new String(digestInput.getBytes())); if (!Arrays.equals(md.digest(digestInput.getBytes()), timeStampToken .getTimeStampInfo().getMessageImprintDigest())) { throw new XAdESValidationException( "Digest verification failure for " + "timestamp token"); } }
/** * Checks if the timestamp refers to this document. * @return true if it checks false otherwise * @throws GeneralSecurityException on error * @since 2.1.6 */ public boolean verifyTimestampImprint() throws GeneralSecurityException { if (timeStampToken == null) return false; TimeStampTokenInfo info = timeStampToken.getTimeStampInfo(); MessageImprint imprint = info.toASN1Structure().getMessageImprint(); String algOID = info.getMessageImprintAlgOID().getId(); byte[] md = new BouncyCastleDigest().getMessageDigest(DigestAlgorithms.getDigest(algOID)).digest(digest); byte[] imphashed = imprint.getHashedMessage(); boolean res = Arrays.equals(md, imphashed); return res; }
System.out.println("certs=" + certs); String hashAlgorithm = timeStampToken.getTimeStampInfo().getMessageImprintAlgOID().getId();
Digest digest = DigestFactory.getInstance().factoryDefault(); TimeStampTokenInfo info = timeStampToken.getTimeStampInfo(); ASN1ObjectIdentifier algOID = info.getMessageImprintAlgOID(); digest.setAlgorithm(algOID.toString()); calculatedHash = digest.digest(content);
this.timeStampToken = new TimeStampToken(contentInfoTsp); TimeStampTokenInfo info = timeStampToken.getTimeStampInfo(); String algOID = info.getMessageImprintAlgOID().getId(); messageDigest = DigestAlgorithms.getMessageDigestFromOid(algOID, null);
String digestAlgUri = uriForDigest(tsTokenInfo.getMessageImprintAlgOID()); MessageDigest md = messageDigestProvider.getEngine(digestAlgUri);