/** * return a table of the unprotected attributes indexed by * the OID of the attribute. * @throws IOException */ public Asn1.Cms.AttributeTable GetUnprotectedAttributes() { if (_unprotectedAttributes == null && _attrNotRead) { Asn1SetParser asn1Set = this.envelopedData.GetUnprotectedAttrs(); _attrNotRead = false; if (asn1Set != null) { Asn1EncodableVector v = new Asn1EncodableVector(); IAsn1Convertible o; while ((o = asn1Set.ReadObject()) != null) { Asn1SequenceParser seq = (Asn1SequenceParser)o; v.Add(seq.ToAsn1Object()); } _unprotectedAttributes = new Asn1.Cms.AttributeTable(new DerSet(v)); } } return(_unprotectedAttributes); }
public CompressedDataParser( Asn1SequenceParser seq) { this._version = (DerInteger)seq.ReadObject(); this._compressionAlgorithm = AlgorithmIdentifier.GetInstance(seq.ReadObject().ToAsn1Object()); this._encapContentInfo = new ContentInfoParser((Asn1SequenceParser)seq.ReadObject()); }
private TimeStampedDataParser(Asn1SequenceParser parser) { this.parser = parser; this.version = DerInteger.GetInstance(parser.ReadObject()); Asn1Object obj = parser.ReadObject().ToAsn1Object(); if (obj is DerIA5String) { this.dataUri = DerIA5String.GetInstance(obj); obj = parser.ReadObject().ToAsn1Object(); } if (//obj is MetaData || obj is Asn1SequenceParser) { this.metaData = MetaData.GetInstance(obj.ToAsn1Object()); obj = parser.ReadObject().ToAsn1Object(); } if (obj is Asn1OctetStringParser) { this.content = (Asn1OctetStringParser)obj; } }
/// <summary> /// Parse private key to raw data /// </summary> public static byte[] ParsePublicKey(string publicKey) { try { var parser = new Asn1StreamParser(Hex.Decode(publicKey)); Asn1SequenceParser sequence = parser.ReadObject() as Asn1SequenceParser; if (sequence != null) { var o1 = sequence.ReadObject(); var oid = sequence.ReadObject() as DerObjectIdentifier; if (oid.Id == "1.2.840.10045.2.1") { oid = sequence.ReadObject() as DerObjectIdentifier; if (oid.Id == "1.2.840.10045.3.1.7" || oid.Id == "1.3.132.0.10") { var bits = sequence.ReadObject() as DerBitString; return(bits.GetBytes()); } } return(null); } else { return(null); } } catch { return(null); } }
public EncryptedContentInfoParser( Asn1SequenceParser seq) { _contentType = (DerObjectIdentifier)seq.ReadObject(); _contentEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq.ReadObject().ToAsn1Object()); _encryptedContent = (Asn1TaggedObjectParser)seq.ReadObject(); }
private void doTestParseWithNull( byte[] data) { Asn1StreamParser aIn = new Asn1StreamParser(data); Asn1SequenceParser seq = (Asn1SequenceParser)aIn.ReadObject(); object o; int count = 0; Assert.IsNotNull(seq, "null sequence returned"); while ((o = seq.ReadObject()) != null) { switch (count) { case 0: Assert.IsTrue(o is Asn1Null); break; case 1: Assert.IsTrue(o is DerInteger); break; case 2: Assert.IsTrue(o is DerObjectIdentifier); break; } count++; } Assert.AreEqual(3, count, "wrong number of objects in sequence"); }
public void TestBerReading() { Asn1StreamParser aIn = new Asn1StreamParser(berSeqData); Asn1SequenceParser seq = (Asn1SequenceParser)aIn.ReadObject(); object o = null; int count = 0; Assert.IsNotNull(seq, "null sequence returned"); while ((o = seq.ReadObject()) != null) { switch (count) { case 0: Assert.IsTrue(o is DerInteger); break; case 1: Assert.IsTrue(o is DerObjectIdentifier); break; } count++; } Assert.AreEqual(2, count, "wrong number of objects in sequence"); }
/** * return a table of the unauthenticated attributes indexed by * the OID of the attribute. * @exception java.io.IOException */ public AttributeTable GetUnauthAttrs() { if (unauthAttrs == null && unauthAttrNotRead) { Asn1SetParser s = authData.GetUnauthAttrs(); unauthAttrNotRead = false; if (s != null) { Asn1EncodableVector v = new Asn1EncodableVector(); IAsn1Convertible o; while ((o = s.ReadObject()) != null) { Asn1SequenceParser seq = (Asn1SequenceParser)o; v.Add(seq.ToAsn1Object()); } unauthAttrs = new AttributeTable(new DerSet(v)); } } return(unauthAttrs); }
public AuthEnvelopedDataParser( Asn1SequenceParser seq) { this.seq = seq; // TODO // "It MUST be set to 0." this.version = (DerInteger)seq.ReadObject(); }
public AuthEnvelopedDataParser( Asn1SequenceParser seq) { this.seq = seq; // "It MUST be set to 0." this.version = (DerInteger)seq.ReadObject(); if (!version.HasValue(0)) { throw new Asn1ParsingException("AuthEnvelopedData version number must be 0"); } }
public EncryptedContentInfoParser GetAuthEncryptedContentInfo() { if (nextObject == null) { nextObject = seq.ReadObject(); } if (nextObject != null) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)nextObject; nextObject = null; return(new EncryptedContentInfoParser(asn1SequenceParser)); } return(null); }
public EncryptedContentInfoParser GetEncryptedContentInfo() { if (this._nextObject == null) { this._nextObject = this._seq.ReadObject(); } if (this._nextObject != null) { Asn1SequenceParser seq = (Asn1SequenceParser)this._nextObject; this._nextObject = null; return(new EncryptedContentInfoParser(seq)); } return(null); }
public AlgorithmIdentifier GetMacAlgorithm() { if (nextObject == null) { nextObject = seq.ReadObject(); } if (nextObject != null) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)nextObject; nextObject = null; return(AlgorithmIdentifier.GetInstance(asn1SequenceParser.ToAsn1Object())); } return(null); }
public ContentInfoParser GetEnapsulatedContentInfo() { if (nextObject == null) { nextObject = seq.ReadObject(); } if (nextObject != null) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)nextObject; nextObject = null; return(new ContentInfoParser(asn1SequenceParser)); } return(null); }
public OriginatorInfo GetOriginatorInfo() { this.originatorInfoCalled = true; if (this.nextObject == null) { this.nextObject = this.seq.ReadObject(); } if (this.nextObject is Asn1TaggedObjectParser && ((Asn1TaggedObjectParser)this.nextObject).TagNo == 0) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)((Asn1TaggedObjectParser)this.nextObject).GetObjectParser(16, false); this.nextObject = null; return(OriginatorInfo.GetInstance(asn1SequenceParser.ToAsn1Object())); } return(null); }
public OriginatorInfo GetOriginatorInfo() { originatorInfoCalled = true; if (nextObject == null) { nextObject = seq.ReadObject(); } if (nextObject is Asn1TaggedObjectParser && ((Asn1TaggedObjectParser)nextObject).TagNo == 0) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)((Asn1TaggedObjectParser)nextObject).GetObjectParser(16, isExplicit: false); nextObject = null; return(OriginatorInfo.GetInstance(asn1SequenceParser.ToAsn1Object())); } return(null); }
public EncryptedContentInfoParser GetEncryptedContentInfo() { if (_nextObject == null) { _nextObject = _seq.ReadObject(); } if (_nextObject != null) { Asn1SequenceParser o = (Asn1SequenceParser)_nextObject; _nextObject = null; return(new EncryptedContentInfoParser(o)); } return(null); }
public OriginatorInfo GetOriginatorInfo() { _originatorInfoCalled = true; if (_nextObject == null) { _nextObject = _seq.ReadObject(); } if (_nextObject is Asn1TaggedObjectParser && ((Asn1TaggedObjectParser)_nextObject).TagNo == 0) { Asn1SequenceParser originatorInfo = (Asn1SequenceParser) ((Asn1TaggedObjectParser)_nextObject).GetObjectParser(Asn1Tags.Sequence, false); _nextObject = null; return(OriginatorInfo.GetInstance(originatorInfo.ToAsn1Object())); } return(null); }
public Org.BouncyCastle.Asn1.Cms.AttributeTable GetUnprotectedAttributes() { if (_unprotectedAttributes == null && _attrNotRead) { Asn1SetParser unprotectedAttrs = envelopedData.GetUnprotectedAttrs(); _attrNotRead = false; if (unprotectedAttrs != null) { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(); IAsn1Convertible asn1Convertible; while ((asn1Convertible = unprotectedAttrs.ReadObject()) != null) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)asn1Convertible; asn1EncodableVector.Add(asn1SequenceParser.ToAsn1Object()); } _unprotectedAttributes = new Org.BouncyCastle.Asn1.Cms.AttributeTable(new DerSet(asn1EncodableVector)); } } return(_unprotectedAttributes); }
public Org.BouncyCastle.Asn1.Cms.AttributeTable GetUnauthAttrs() { if (unauthAttrs == null && unauthAttrNotRead) { Asn1SetParser asn1SetParser = authData.GetUnauthAttrs(); unauthAttrNotRead = false; if (asn1SetParser != null) { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(); IAsn1Convertible asn1Convertible; while ((asn1Convertible = asn1SetParser.ReadObject()) != null) { Asn1SequenceParser asn1SequenceParser = (Asn1SequenceParser)asn1Convertible; asn1EncodableVector.Add(asn1SequenceParser.ToAsn1Object()); } unauthAttrs = new Org.BouncyCastle.Asn1.Cms.AttributeTable(new DerSet(asn1EncodableVector)); } } return(unauthAttrs); }
private void doTestNestedReading( byte[] data) { Asn1StreamParser aIn = new Asn1StreamParser(data); Asn1SequenceParser seq = (Asn1SequenceParser)aIn.ReadObject(); object o = null; int count = 0; Assert.IsNotNull(seq, "null sequence returned"); while ((o = seq.ReadObject()) != null) { switch (count) { case 0: Assert.IsTrue(o is DerInteger); break; case 1: Assert.IsTrue(o is DerObjectIdentifier); break; case 2: Assert.IsTrue(o is Asn1SequenceParser); Asn1SequenceParser s = (Asn1SequenceParser)o; // NB: Must exhaust the nested parser while (s.ReadObject() != null) { // Ignore } break; } count++; } Assert.AreEqual(3, count, "wrong number of objects in sequence"); }
private TimeStampedDataParser(Asn1SequenceParser parser) { this.parser = parser; version = DerInteger.GetInstance(parser.ReadObject()); Asn1Object asn1Object = parser.ReadObject().ToAsn1Object(); if (asn1Object is DerIA5String) { dataUri = DerIA5String.GetInstance(asn1Object); asn1Object = parser.ReadObject().ToAsn1Object(); } if (asn1Object is Asn1SequenceParser) { metaData = MetaData.GetInstance(asn1Object.ToAsn1Object()); asn1Object = parser.ReadObject().ToAsn1Object(); } if (asn1Object is Asn1OctetStringParser) { content = (Asn1OctetStringParser)asn1Object; } }
public ContentInfoParser( Asn1SequenceParser seq) { contentType = (DerObjectIdentifier)seq.ReadObject(); content = (Asn1TaggedObjectParser)seq.ReadObject(); }
public AuthenticatedDataParser( Asn1SequenceParser seq) { this.seq = seq; this.version = (DerInteger)seq.ReadObject(); }
public SignedDataParser(Asn1SequenceParser seq) { _seq = seq; _version = (DerInteger)seq.ReadObject(); }
public SignedDataParser( Asn1SequenceParser seq) { this._seq = seq; this._version = (DerInteger)seq.ReadObject(); }
public AuthenticatedDataParser(Asn1SequenceParser seq) { this.seq = seq; version = (DerInteger)seq.ReadObject(); }
public EnvelopedDataParser( Asn1SequenceParser seq) { this._seq = seq; this._version = (DerInteger)seq.ReadObject(); }