Java 类org.bouncycastle.asn1.ASN1ApplicationSpecific 实例源码

项目:gwt-crypto    文件:CVCertificateRequest.java   
private CVCertificateRequest(ASN1ApplicationSpecific request)
    throws IOException
{
    if (request.getApplicationTag() == EACTags.AUTHENTIFICATION_DATA)
    {
        ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE));

        initCertBody(ASN1ApplicationSpecific.getInstance(seq.getObjectAt(0)));

        outerSignature = ASN1ApplicationSpecific.getInstance(seq.getObjectAt(seq.size() - 1)).getContents();
    }
    else
    {
        initCertBody(request);
    }
}
项目:gwt-crypto    文件:CVCertificateRequest.java   
public static CVCertificateRequest getInstance(Object obj)
{
    if (obj instanceof CVCertificateRequest)
    {
        return (CVCertificateRequest)obj;
    }
    else if (obj != null)
    {
        try
        {
            return new CVCertificateRequest(ASN1ApplicationSpecific.getInstance(obj));
        }
        catch (IOException e)
        {
            throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e);
        }
    }

    return null;
}
项目:Aki-SSL    文件:CVCertificateRequest.java   
private CVCertificateRequest(ASN1ApplicationSpecific request)
    throws IOException
{
    if (request.getApplicationTag() == EACTags.AUTHENTIFICATION_DATA)
    {
        ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE));

        initCertBody(ASN1ApplicationSpecific.getInstance(seq.getObjectAt(0)));

        outerSignature = ASN1ApplicationSpecific.getInstance(seq.getObjectAt(seq.size() - 1)).getContents();
    }
    else
    {
        initCertBody(request);
    }
}
项目:Aki-SSL    文件:CVCertificateRequest.java   
public static CVCertificateRequest getInstance(Object obj)
{
    if (obj instanceof CVCertificateRequest)
    {
        return (CVCertificateRequest)obj;
    }
    else if (obj != null)
    {
        try
        {
            return new CVCertificateRequest(ASN1ApplicationSpecific.getInstance(obj));
        }
        catch (IOException e)
        {
            throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e);
        }
    }

    return null;
}
项目:gwt-crypto    文件:EACTags.java   
public static int encodeTag(ASN1ApplicationSpecific spec)
{
    int retValue = BERTags.APPLICATION;
    boolean constructed = spec.isConstructed();
    if (constructed)
    {
        retValue |= BERTags.CONSTRUCTED;
    }

    int tag = spec.getApplicationTag();

    if (tag > 31)
    {
        retValue |= 0x1F;
        retValue <<= 8;

        int currentByte = tag & 0x7F;
        retValue |= currentByte;
        tag >>= 7;

        while (tag > 0)
        {
            retValue |= 0x80;
            retValue <<= 8;

            currentByte = tag & 0x7F;
            tag >>= 7;
        }
    }
    else
    {
        retValue |= tag;
    }

    return retValue;
}
项目:gwt-crypto    文件:CVCertificateRequest.java   
private void initCertBody(ASN1ApplicationSpecific request)
    throws IOException
{
    if (request.getApplicationTag() == EACTags.CARDHOLDER_CERTIFICATE)
    {
        ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE));
        for (Enumeration en = seq.getObjects(); en.hasMoreElements();)
        {
            ASN1ApplicationSpecific obj = ASN1ApplicationSpecific.getInstance(en.nextElement());
            switch (obj.getApplicationTag())
            {
            case EACTags.CERTIFICATE_CONTENT_TEMPLATE:
                certificateBody = CertificateBody.getInstance(obj);
                valid |= bodyValid;
                break;
            case EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP:
                innerSignature = obj.getContents();
                valid |= signValid;
                break;
            default:
                throw new IOException("Invalid tag, not an CV Certificate Request element:" + obj.getApplicationTag());
            }
        }
    }
    else
    {
        throw new IOException("not a CARDHOLDER_CERTIFICATE in request:" + request.getApplicationTag());
    }
}
项目:gwt-crypto    文件:CertificateBody.java   
/**
 * Gives an instance of Iso7816CertificateBody taken from Object obj
 *
 * @param obj is the Object to extract the certificate body from.
 * @return the Iso7816CertificateBody taken from Object obj.
 * @throws IOException if object is not valid.
 */
public static CertificateBody getInstance(Object obj)
    throws IOException
{
    if (obj instanceof CertificateBody)
    {
        return (CertificateBody)obj;
    }
    else if (obj != null)
    {
        return new CertificateBody(ASN1ApplicationSpecific.getInstance(obj));
    }

    return null;
}
项目:Aki-SSL    文件:EACTags.java   
public static int encodeTag(ASN1ApplicationSpecific spec)
{
    int retValue = BERTags.APPLICATION;
    boolean constructed = spec.isConstructed();
    if (constructed)
    {
        retValue |= BERTags.CONSTRUCTED;
    }

    int tag = spec.getApplicationTag();

    if (tag > 31)
    {
        retValue |= 0x1F;
        retValue <<= 8;

        int currentByte = tag & 0x7F;
        retValue |= currentByte;
        tag >>= 7;

        while (tag > 0)
        {
            retValue |= 0x80;
            retValue <<= 8;

            currentByte = tag & 0x7F;
            tag >>= 7;
        }
    }
    else
    {
        retValue |= tag;
    }

    return retValue;
}
项目:Aki-SSL    文件:CVCertificateRequest.java   
private void initCertBody(ASN1ApplicationSpecific request)
    throws IOException
{
    if (request.getApplicationTag() == EACTags.CARDHOLDER_CERTIFICATE)
    {
        ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE));
        for (Enumeration en = seq.getObjects(); en.hasMoreElements();)
        {
            ASN1ApplicationSpecific obj = ASN1ApplicationSpecific.getInstance(en.nextElement());
            switch (obj.getApplicationTag())
            {
            case EACTags.CERTIFICATE_CONTENT_TEMPLATE:
                certificateBody = CertificateBody.getInstance(obj);
                valid |= bodyValid;
                break;
            case EACTags.STATIC_INTERNAL_AUTHENTIFICATION_ONE_STEP:
                innerSignature = obj.getContents();
                valid |= signValid;
                break;
            default:
                throw new IOException("Invalid tag, not an CV Certificate Request element:" + obj.getApplicationTag());
            }
        }
    }
    else
    {
        throw new IOException("not a CARDHOLDER_CERTIFICATE in request:" + request.getApplicationTag());
    }
}
项目:Aki-SSL    文件:CertificateBody.java   
/**
 * Gives an instance of Iso7816CertificateBody taken from Object obj
 *
 * @param obj is the Object to extract the certificate body from.
 * @return the Iso7816CertificateBody taken from Object obj.
 * @throws IOException if object is not valid.
 */
public static CertificateBody getInstance(Object obj)
    throws IOException
{
    if (obj instanceof CertificateBody)
    {
        return (CertificateBody)obj;
    }
    else if (obj != null)
    {
        return new CertificateBody(ASN1ApplicationSpecific.getInstance(obj));
    }

    return null;
}
项目:animamea    文件:EACTags.java   
public static int encodeTag(ASN1ApplicationSpecific appSpe)
 {
    int retValue = BERTags.APPLICATION;
    boolean constructed = appSpe.isConstructed();
    if (constructed)
        retValue |= BERTags.CONSTRUCTED;

    int tag = appSpe.getApplicationTag();

    if (tag > 31)
    {
        retValue |= 0x1F;
retValue <<= 8;

int currentByte = tag & 0x7F;
        retValue |= currentByte;
        tag >>= 7;

        while (tag > 0)
        {
            retValue |= 0x80;
            retValue <<= 8;

            currentByte = tag & 0x7F;
            tag >>= 7;
        }
    }
    else
        retValue |= tag;

    return retValue;
 }
项目:animamea    文件:DiscretionaryDataTemplate.java   
public static DiscretionaryDataTemplate getInstance(Object obj) throws IOException {
    if (obj instanceof DiscretionaryDataTemplate) {
        return (DiscretionaryDataTemplate) obj;
    } else if (obj != null) {
        return new DiscretionaryDataTemplate(ASN1ApplicationSpecific.getInstance(obj));
    }

    return null;
}
项目:animamea    文件:CVExtensions.java   
public static CVExtensions getInstance(Object appSpe)
    throws IOException
{
    if (appSpe instanceof CVExtensions)
    {
        return (CVExtensions)appSpe;
    }
    else if (appSpe != null)
    {
        return new CVExtensions(ASN1ApplicationSpecific.getInstance(appSpe));
    }

    return null;
}
项目:animamea    文件:DiscretionaryDataTemplate.java   
private DiscretionaryDataTemplate(ASN1ApplicationSpecific appSpe) throws IOException {
    setDiscretionaryData(appSpe);
}
项目:animamea    文件:CVExtensions.java   
private CVExtensions(ASN1ApplicationSpecific appSpe)
    throws IOException
{
    setCertificateExtensions(appSpe);
}
项目:animamea    文件:AmECPublicKey.java   
public static AmECPublicKey getInstance(byte[] bytes) throws IOException {
    ASN1ApplicationSpecific seq = ASN1ApplicationSpecific.getInstance(bytes);
    AmECPublicKey ecPubKey = new AmECPublicKey(ASN1Sequence.getInstance(seq.getObject(16)));
    return ecPubKey;
}
项目:gwt-crypto    文件:CVCertificate.java   
/**
 * Create an iso7816Certificate structure from a DERApplicationSpecific.
 *
 * @param appSpe the DERApplicationSpecific object.
 * @return the Iso7816CertificateStructure represented by the DERApplicationSpecific object.
 * @throws IOException if there is a problem parsing the data.
 */
private CVCertificate(ASN1ApplicationSpecific appSpe)
    throws IOException
{
    setPrivateData(appSpe);
}
项目:gwt-crypto    文件:CertificateBody.java   
/**
 * builds an Iso7816CertificateBody with an ASN1InputStream.
 *
 * @param obj DERApplicationSpecific containing the whole body.
 * @throws IOException if the body is not valid.
 */
private CertificateBody(ASN1ApplicationSpecific obj)
    throws IOException
{
    setIso7816CertificateBody(obj);
}
项目:Aki-SSL    文件:CVCertificate.java   
/**
 * Create an iso7816Certificate structure from a DERApplicationSpecific.
 *
 * @param appSpe the DERApplicationSpecific object.
 * @return the Iso7816CertificateStructure represented by the DERApplicationSpecific object.
 * @throws IOException if there is a problem parsing the data.
 */
private CVCertificate(ASN1ApplicationSpecific appSpe)
    throws IOException
{
    setPrivateData(appSpe);
}
项目:Aki-SSL    文件:CertificateBody.java   
/**
 * builds an Iso7816CertificateBody with an ASN1InputStream.
 *
 * @param obj DERApplicationSpecific containing the whole body.
 * @throws IOException if the body is not valid.
 */
private CertificateBody(ASN1ApplicationSpecific obj)
    throws IOException
{
    setIso7816CertificateBody(obj);
}