⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectdigestinfo.java

📁 bouncycastle 是一个JAVA安全提供者
💻 JAVA
字号:
package org.bouncycastle.asn1.x509;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.DERBitString;import org.bouncycastle.asn1.DEREnumerated;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.x509.AlgorithmIdentifier;public class ObjectDigestInfo    extends ASN1Encodable{    DEREnumerated digestedObjectType;    DERObjectIdentifier otherObjectTypeID;    AlgorithmIdentifier digestAlgorithm;    DERBitString objectDigest;    public static ObjectDigestInfo getInstance(            Object  obj)    {        if (obj == null || obj instanceof ObjectDigestInfo)        {            return (ObjectDigestInfo)obj;        }        if (obj instanceof ASN1Sequence)        {            return new ObjectDigestInfo((ASN1Sequence)obj);        }        throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());    }    public static ObjectDigestInfo getInstance(        ASN1TaggedObject obj,        boolean          explicit)    {        return getInstance(ASN1Sequence.getInstance(obj, explicit));    }        public ObjectDigestInfo(ASN1Sequence seq)    {        digestedObjectType = DEREnumerated.getInstance(seq.getObjectAt(0));        int offset = 0;        if (seq.size() == 4)        {            otherObjectTypeID = DERObjectIdentifier.getInstance(seq.getObjectAt(1));            offset++;        }        digestAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1 + offset));        objectDigest = new DERBitString(seq.getObjectAt(2 + offset));    }    public DEREnumerated getDigestedObjectType()    {        return digestedObjectType;    }    public DERObjectIdentifier getOtherObjectTypeID()    {        return otherObjectTypeID;    }    public AlgorithmIdentifier getDigestAlgorithm()    {        return digestAlgorithm;    }    public DERBitString getObjectDigest()    {        return objectDigest;    }    /**     * Produce an object suitable for an ASN1OutputStream.     *      * <pre>     *      *   ObjectDigestInfo ::= SEQUENCE {     *        digestedObjectType  ENUMERATED {     *                publicKey            (0),     *                publicKeyCert        (1),     *                otherObjectTypes     (2) },     *                        -- otherObjectTypes MUST NOT     *                        -- be used in this profile     *        otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,     *        digestAlgorithm     AlgorithmIdentifier,     *        objectDigest        BIT STRING     *   }     *       * </pre>     */    public DERObject toASN1Object()    {        ASN1EncodableVector v = new ASN1EncodableVector();        v.add(digestedObjectType);        if (otherObjectTypeID != null)        {            v.add(otherObjectTypeID);        }        v.add(digestAlgorithm);        v.add(objectDigest);        return new DERSequence(v);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -