• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java BERTags类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.bouncycastle.asn1.BERTags的典型用法代码示例。如果您正苦于以下问题:Java BERTags类的具体用法?Java BERTags怎么用?Java BERTags使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BERTags类属于org.bouncycastle.asn1包,在下文中一共展示了BERTags类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: parseDG1

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void parseDG1(byte[] DG1) {
    try {
        ASN1InputStream bIn = new ASN1InputStream(DG1);
        org.bouncycastle.asn1.DERApplicationSpecific app = (DERApplicationSpecific) bIn.readObject();

        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);
        Enumeration secEnum = seq.getObjects();
        while (secEnum.hasMoreElements()) {
            ASN1Primitive seqObj = (ASN1Primitive) secEnum.nextElement();
            byte[] data = seqObj.getEncoded();
            if (data[0]== 0x41) {
                Log.d("type approval number", ByteUtils.bytesToHex(data));
                this.set5F01(data);
            } else if (data[0] == 0x42) {
                byte[] input = Arrays.copyOfRange(data, 3, data.length);
                parse5F02(input);
            } else if (data[0] == 0x7F) {
                parse7F63(data);
            }
        }
        bIn.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:27,代码来源:DrivingLicence.java


示例2: parseNonce

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private byte[] parseNonce(byte[] data) {
    try (ASN1InputStream bIn = new ASN1InputStream(data)) {
        DERApplicationSpecific app = (DERApplicationSpecific) bIn.readObject();

        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);

        byte[] tag80 = ((ASN1Primitive) seq.getObjects().nextElement()).getEncoded();

        if (tag80[0] == (byte) 0x80) {

            MessageDigest md = MessageDigest.getInstance("SHA-256");
            byte[] kpi =  md.digest(Bytes.concatenate(CAN.getBytes(), Bytes.bytes("00 00 00 03")));

            return AESUtils.decryptAESCBC(Bytes.allButFirst(tag80, 2), kpi);
        }
    } catch (IOException | NoSuchAlgorithmException e) {
        Log.e(getClass().getName(), "Failed to parse nonce from response data", e);
    }

    return null;
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:22,代码来源:PACEAPDUInterface.java


示例3: parseDG11

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void parseDG11(byte[] DG11) {
    try {
        ASN1InputStream bIn = new ASN1InputStream(DG11);
        org.bouncycastle.asn1.DERApplicationSpecific app = (DERApplicationSpecific) bIn.readObject();

        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);
        Enumeration secEnum = seq.getObjects();
        while (secEnum.hasMoreElements()) {
            ASN1Primitive seqObj = (ASN1Primitive) secEnum.nextElement();
            byte[] data = seqObj.getEncoded();
            if (data[0]== 0x7F) {
                parseDG11(data);
            } else if (data[0] == (byte) 0x80) {
                this.setBSN(Arrays.copyOfRange(data, 2, data.length));
            }
        }
        bIn.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:23,代码来源:DrivingLicence.java


示例4: parseDG1

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void parseDG1(byte[] DG1) {
    try (ASN1InputStream bIn = new ASN1InputStream(DG1)) {

        org.bouncycastle.asn1.DERApplicationSpecific app = (DERApplicationSpecific) bIn.readObject();

        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);
        Enumeration secEnum = seq.getObjects();
        while (secEnum.hasMoreElements()) {
            ASN1Primitive seqObj = (ASN1Primitive) secEnum.nextElement();
            byte[] data = seqObj.getEncoded();
            if (data[0]== 0x41) {
                Log.d("type approval number", ByteUtils.bytesToHex(data));
                this.set5F01(Bytes.allButFirst(data, 1));
            } else if (data[0] == 0x42) {
                byte[] input = Arrays.copyOfRange(data, 3, data.length);
                parse5F02(input);
            } else if (data[0] == 0x7F) {
                parse7F63(data);
            }
        }
    } catch (IOException e) {
        Log.e(getClass().getName(), e.getMessage(), e);
    }
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:25,代码来源:DrivingLicence.java


示例5: parse7F63

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void parse7F63(byte[] input) {
    Log.d("input", ByteUtils.bytesToHex(input));
    try (ASN1InputStream bIn = new ASN1InputStream(input)) {
        ASN1Primitive obj = bIn.readObject();
        DERApplicationSpecific app = (DERApplicationSpecific) obj;
        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);
        Enumeration secEnum = seq.getObjects();
        List<byte[]> categories = new ArrayList<>();
        while (secEnum.hasMoreElements()) {
            ASN1Primitive seqObj = (ASN1Primitive) secEnum.nextElement();
            byte[] data = seqObj.getEncoded();
            Log.d("5F02data", ByteUtils.bytesToHex(data));
            switch (data[0]) {
                case 0x02:
                    Log.d("#CATEGORY","number of categories:" + data[data.length-1]);
                    break;
                case (byte) 0x87:
                    categories.add(Arrays.copyOfRange(data, 2, data.length));
                    break;
            }
        }
        this.set7F63(categories);
    } catch (IOException e) {
        Log.e(getClass().getName(), e.getMessage(), e);
    }
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:27,代码来源:DrivingLicence.java


示例6: parseDG11

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void parseDG11(byte[] DG11) {
    try (ASN1InputStream bIn = new ASN1InputStream(DG11)) {
        DERApplicationSpecific app = (DERApplicationSpecific) bIn.readObject();

        ASN1Sequence seq = (ASN1Sequence) app.getObject(BERTags.SEQUENCE);
        Enumeration secEnum = seq.getObjects();
        while (secEnum.hasMoreElements()) {
            ASN1Primitive seqObj = (ASN1Primitive) secEnum.nextElement();
            byte[] data = seqObj.getEncoded();
            if (data[0]== 0x7F) {
                parseDG11(data);
            } else if (data[0] == (byte) 0x80) {
                this.setBSN(Arrays.copyOfRange(data, 2, data.length));
            }
        }
    } catch (IOException e) {
        Log.e(getClass().getName(), e.getMessage(), e);
    }
}
 
开发者ID:mDL-ILP,项目名称:mDL-ILP,代码行数:20,代码来源:DrivingLicence.java


示例7: getInstance

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public static SignaturePolicyIdentifier getInstance(
    Object  obj)
{
    if (obj instanceof SignaturePolicyIdentifier)
    {
        return (SignaturePolicyIdentifier)obj;
    }
    else if (obj instanceof ASN1Null || hasEncodedTagValue(obj, BERTags.NULL))
    {
        return new SignaturePolicyIdentifier();
    }
    else if (obj != null)
    {
        return new SignaturePolicyIdentifier(SignaturePolicyId.getInstance(obj));
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:19,代码来源:SignaturePolicyIdentifier.java


示例8: CVCertificateRequest

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private CVCertificateRequest(DERApplicationSpecific request)
    throws IOException
{
    if (request.getApplicationTag() == EACTags.AUTHENTIFICATION_DATA)
    {
        ASN1Sequence seq = ASN1Sequence.getInstance(request.getObject(BERTags.SEQUENCE));

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

        outerSignature = DERApplicationSpecific.getInstance(seq.getObjectAt(seq.size() - 1)).getContents();
    }
    else
    {
        initCertBody(request);
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:17,代码来源:CVCertificateRequest.java


示例9: getOriginatorInfo

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public OriginatorInfo getOriginatorInfo()
    throws IOException
{
    originatorInfoCalled = true;

    if (nextObject == null)
    {
        nextObject = seq.readObject();
    }

    if (nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)nextObject).getTagNo() == 0)
    {
        ASN1SequenceParser originatorInfo = (ASN1SequenceParser) ((ASN1TaggedObjectParser)nextObject).getObjectParser(BERTags.SEQUENCE, false);
        nextObject = null;
        return OriginatorInfo.getInstance(originatorInfo.toASN1Primitive());
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:20,代码来源:AuthEnvelopedDataParser.java


示例10: getAuthAttrs

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getAuthAttrs()
    throws IOException
{
    if (nextObject == null)
    {
        nextObject = seq.readObject();
    }

    if (nextObject instanceof ASN1TaggedObjectParser)
    {
        ASN1Encodable o = nextObject;
        nextObject = null;
        return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false);
    }

    // TODO
    // "The authAttrs MUST be present if the content type carried in
    // EncryptedContentInfo is not id-data."

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:22,代码来源:AuthEnvelopedDataParser.java


示例11: getUnauthAttrs

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getUnauthAttrs()
    throws IOException
{
    if (nextObject == null)
    {
        nextObject = seq.readObject();
    }

    if (nextObject != null)
    {
        ASN1Encodable o = nextObject;
        nextObject = null;
        return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false);
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:18,代码来源:AuthEnvelopedDataParser.java


示例12: getOriginatorInfo

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public OriginatorInfo getOriginatorInfo() 
    throws IOException
{
    _originatorInfoCalled = true; 
    
    if (_nextObject == null)
    {
        _nextObject = _seq.readObject();
    }
    
    if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 0)
    {
        ASN1SequenceParser originatorInfo = (ASN1SequenceParser) ((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SEQUENCE, false);
        _nextObject = null;
        return OriginatorInfo.getInstance(originatorInfo.toASN1Primitive());
    }
    
    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:20,代码来源:EnvelopedDataParser.java


示例13: getUnprotectedAttrs

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getUnprotectedAttrs()
    throws IOException
{
    if (_nextObject == null)
    {
        _nextObject = _seq.readObject();
    }
    
    
    if (_nextObject != null)
    {
        ASN1Encodable o = _nextObject;
        _nextObject = null;
        return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false);
    }
    
    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:19,代码来源:EnvelopedDataParser.java


示例14: getCertificates

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getCertificates()
    throws IOException
{
    _certsCalled = true;
    _nextObject = _seq.readObject();

    if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 0)
    {
        ASN1SetParser certs = (ASN1SetParser)((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SET, false);
        _nextObject = null;

        return certs;
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:17,代码来源:SignedDataParser.java


示例15: getCrls

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getCrls()
    throws IOException
{
    if (!_certsCalled)
    {
        throw new IOException("getCerts() has not been called.");
    }

    _crlsCalled = true;

    if (_nextObject == null)
    {
        _nextObject = _seq.readObject();
    }

    if (_nextObject instanceof ASN1TaggedObjectParser && ((ASN1TaggedObjectParser)_nextObject).getTagNo() == 1)
    {
        ASN1SetParser crls = (ASN1SetParser)((ASN1TaggedObjectParser)_nextObject).getObjectParser(BERTags.SET, false);
        _nextObject = null;

        return crls;
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:26,代码来源:SignedDataParser.java


示例16: getAuthAttrs

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getAuthAttrs()
    throws IOException
{
    if (nextObject == null)
    {
        nextObject = seq.readObject();
    }

    if (nextObject instanceof ASN1TaggedObjectParser)
    {
        ASN1Encodable o = nextObject;
        nextObject = null;
        return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false);
    }

    return null;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:18,代码来源:AuthenticatedDataParser.java


示例17: getContent

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
/**
 * @deprecated  use getContent(InputExpandedProvider)
 */
public CMSTypedStream  getContent()
    throws CMSException
{
    try
    {
        CompressedDataParser  comData = new CompressedDataParser((ASN1SequenceParser)_contentInfo.getContent(BERTags.SEQUENCE));
        ContentInfoParser     content = comData.getEncapContentInfo();

        ASN1OctetStringParser bytes = (ASN1OctetStringParser)content.getContent(BERTags.OCTET_STRING);

        return new CMSTypedStream(content.getContentType().toString(), new InflaterInputStream(bytes.getOctetStream()));
    }
    catch (IOException e)
    {
        throw new CMSException("IOException reading compressed content.", e);
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:21,代码来源:CMSCompressedDataParser.java


示例18: initialize

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
private void initialize(ContentInfoParser contentInfo)
    throws CMSException
{
    try
    {
        if (CMSObjectIdentifiers.timestampedData.equals(contentInfo.getContentType()))
        {
            this.timeStampedData = TimeStampedDataParser.getInstance(contentInfo.getContent(BERTags.SEQUENCE));
        }
        else
        {
            throw new IllegalArgumentException("Malformed content - type must be " + CMSObjectIdentifiers.timestampedData.getId());
        }
    }
    catch (IOException e)
    {
        throw new CMSException("parsing exception: " + e.getMessage(), e);
    }
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:20,代码来源:CMSTimeStampedDataParser.java


示例19: CVCertificateRequest

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
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);
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:17,代码来源:CVCertificateRequest.java


示例20: getAuthAttrs

import org.bouncycastle.asn1.BERTags; //导入依赖的package包/类
public ASN1SetParser getAuthAttrs()
    throws IOException
{
    if (nextObject == null)
    {
        nextObject = seq.readObject();
    }

    if (nextObject instanceof ASN1TaggedObjectParser)
    {
        ASN1Encodable o = nextObject;
        nextObject = null;
        return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false);
    }

    // "The authAttrs MUST be present if the content type carried in
    // EncryptedContentInfo is not id-data."
    if (!authEncryptedContentInfoParser.getContentType().equals(CMSObjectIdentifiers.data))
    {
        throw new ASN1ParsingException("authAttrs must be present with non-data content");
    }

    return null;
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:25,代码来源:AuthEnvelopedDataParser.java



注:本文中的org.bouncycastle.asn1.BERTags类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SpannedCacheStuffer类代码示例发布时间:2022-05-22
下一篇:
Java JSONCompare类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap