--- /dev/null
+package org.bouncycastle.asn1.x509;
+
+import java.util.Enumeration;
+
+import org.bouncycastle.asn1.*;
+import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
+
+/**
+ * <pre>
+ * DigestInfo::=SEQUENCE{
+ * digestAlgorithm AlgorithmIdentifier,
+ * digest OCTET STRING }
+ * </pre>
+ */
+public class DigestInfo
+ implements PKCSObjectIdentifiers, DEREncodable
+{
+ private byte[] digest;
+ private AlgorithmIdentifier algId;
+
+ public DigestInfo(
+ AlgorithmIdentifier algId,
+ byte[] digest)
+ {
+ this.digest = digest;
+ this.algId = algId;
+ }
+
+ public DigestInfo(
+ DERConstructedSequence seq)
+ {
+ Enumeration e = seq.getObjects();
+
+ algId = new AlgorithmIdentifier((DERConstructedSequence)e.nextElement());
+ digest = ((DEROctetString)e.nextElement()).getOctets();
+ }
+
+ public AlgorithmIdentifier getAlgorithmId()
+ {
+ return algId;
+ }
+
+ public byte[] getDigest()
+ {
+ return digest;
+ }
+
+ public DERObject getDERObject()
+ {
+ DERConstructedSequence seq = new DERConstructedSequence();
+
+ seq.addObject(algId);
+ seq.addObject(new DEROctetString(digest));
+
+ return seq;
+ }
+}