package org.bouncycastle.tsp.test; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import org.bouncycastle.asn1.nist.NISTObjectIdentifiers; import org.bouncycastle.asn1.x509.AlgorithmIdentifier; import org.bouncycastle.crypto.Digest; import org.bouncycastle.crypto.digests.SHA256Digest; import org.bouncycastle.operator.DigestCalculator; class SHA256DigestCalculator implements DigestCalculator { private ByteArrayOutputStream bOut = new ByteArrayOutputStream(); public AlgorithmIdentifier getAlgorithmIdentifier() { return new AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256); } public OutputStream getOutputStream() { return bOut; } public byte[] getDigest() { byte[] bytes = bOut.toByteArray(); bOut.reset(); Digest sha256 = new SHA256Digest(); sha256.update(bytes, 0, bytes.length); byte[] digest = new byte[sha256.getDigestSize()]; sha256.doFinal(digest, 0); return digest; } }