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

📄 policyqualifierinfo.java

📁 进行与数字证书相关开发必须的java源码
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   PolicyQualifierInfo.java

package jit.asn1.x509;

import java.util.Vector;
import jit.asn1.*;
import jit.math.BigInteger;

// Referenced classes of package jit.asn1.x509:
//            NoticeReference, UserNotice, DisplayText, PolicyQualifierId

public class PolicyQualifierInfo extends ASN1Encodable
{

    DERObjectIdentifier policyQualifierId;
    DEREncodable qualifier;

    public PolicyQualifierInfo(DERObjectIdentifier policyQualifierId, DEREncodable qualifier)
    {
        this.policyQualifierId = policyQualifierId;
        this.qualifier = qualifier;
    }

    public PolicyQualifierInfo(String cps)
    {
        policyQualifierId = PolicyQualifierId.id_qt_cps;
        qualifier = new DERIA5String(cps);
    }

    public PolicyQualifierInfo(String organization, Vector noticeNumbers)
    {
        policyQualifierId = PolicyQualifierId.id_qt_unotice;
        NoticeReference noticeRef = new NoticeReference(organization, noticeNumbers);
        qualifier = new UserNotice(noticeRef);
    }

    public PolicyQualifierInfo(String organization, Vector noticeNumbers, String explicitText)
    {
        policyQualifierId = PolicyQualifierId.id_qt_unotice;
        NoticeReference noticeRef = new NoticeReference(organization, noticeNumbers);
        qualifier = new UserNotice(noticeRef, explicitText);
    }

    public PolicyQualifierInfo(ASN1Sequence as)
    {
        policyQualifierId = (DERObjectIdentifier)as.getObjectAt(0);
        qualifier = as.getObjectAt(1);
    }

    public static PolicyQualifierInfo getInstance(Object as)
    {
        if(as instanceof PolicyQualifierInfo)
            return (PolicyQualifierInfo)as;
        if(as instanceof ASN1Sequence)
            return new PolicyQualifierInfo((ASN1Sequence)as);
        else
            throw new IllegalArgumentException("unknown object in getInstance.");
    }

    public DERObject toASN1Object()
    {
        ASN1EncodableVector dev = new ASN1EncodableVector();
        dev.add(policyQualifierId);
        dev.add(qualifier);
        return new DERSequence(dev);
    }

    public String getCPSuri()
        throws Exception
    {
        if(policyQualifierId.equals(PolicyQualifierId.id_qt_cps))
        {
            DERIA5String derIA5Str = DERIA5String.getInstance(qualifier.getDERObject());
            return derIA5Str.getString();
        } else
        {
            return null;
        }
    }

    public String getExplicitText()
    {
        if(policyQualifierId.equals(PolicyQualifierId.id_qt_unotice))
        {
            UserNotice userNotice = new UserNotice((ASN1Sequence)qualifier.getDERObject());
            DisplayText explicitText = userNotice.getExplicitText();
            if(explicitText == null)
                return null;
            else
                return explicitText.getString();
        } else
        {
            return null;
        }
    }

    public String getOrganization()
    {
        if(policyQualifierId.equals(PolicyQualifierId.id_qt_unotice))
        {
            UserNotice userNotice = new UserNotice((ASN1Sequence)qualifier.getDERObject());
            NoticeReference noticeRef = userNotice.getNoticeRef();
            if(noticeRef == null)
                return null;
            else
                return noticeRef.getOrganization().getString();
        } else
        {
            return null;
        }
    }

    public BigInteger[] getNoticeNumbers()
    {
        if(policyQualifierId.equals(PolicyQualifierId.id_qt_unotice))
        {
            UserNotice userNotice = new UserNotice((ASN1Sequence)qualifier.getDERObject());
            NoticeReference noticeRef = userNotice.getNoticeRef();
            if(noticeRef == null)
                return null;
            ASN1Sequence seqNumbers = noticeRef.getNoticeNumbers();
            BigInteger bigNumbers[] = new BigInteger[seqNumbers.size()];
            for(int i = 0; i < bigNumbers.length; i++)
            {
                DERInteger derNumber = (DERInteger)seqNumbers.getObjectAt(i);
                bigNumbers[i] = derNumber.getValue();
            }

            return bigNumbers;
        } else
        {
            return null;
        }
    }
}

⌨️ 快捷键说明

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