本文整理汇总了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;未经允许,请勿转载。 |
请发表评论