internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(Asn1Tags.Constructed | Asn1Tags.OctetString); derOut.WriteByte(0x80); // // write out the octet array // foreach (DerOctetString oct in this) { derOut.WriteObject(oct); } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode(DerOutputStream derOut) { if ((derOut is Asn1OutputStream) || (derOut is BerOutputStream)) { derOut.WriteByte(0x31); derOut.WriteByte(0x80); IEnumerator enumerator = this.GetEnumerator(); try { while (enumerator.MoveNext()) { Asn1Encodable current = (Asn1Encodable)enumerator.Current; derOut.WriteObject(current); } } finally { if (enumerator is IDisposable disposable) { IDisposable disposable; disposable.Dispose(); } } derOut.WriteByte(0); derOut.WriteByte(0); } else { base.Encode(derOut); } }
internal override void Encode(DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(48); derOut.WriteByte(128); { IEnumerator enumerator = GetEnumerator(); try { while (enumerator.MoveNext()) { Asn1Encodable obj = (Asn1Encodable)enumerator.Current; derOut.WriteObject(obj); } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } } derOut.WriteByte(0); derOut.WriteByte(0); } else { base.Encode(derOut); } }
internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteTag((byte)(Asn1Tags.Constructed | Asn1Tags.Tagged), tagNo); derOut.WriteByte(0x80); if (!IsEmpty()) { if (!explicitly) { IEnumerable eObj; if (obj is Asn1OctetString) { if (obj is BerOctetString) { eObj = (BerOctetString)obj; } else { Asn1OctetString octs = (Asn1OctetString)obj; eObj = new BerOctetString(octs.GetOctets()); } } else if (obj is Asn1Sequence) { eObj = (Asn1Sequence)obj; } else if (obj is Asn1Set) { eObj = (Asn1Set)obj; } else { throw Platform.CreateNotImplementedException(obj.GetType().Name); } foreach (Asn1Encodable o in eObj) { derOut.WriteObject(o); } } else { derOut.WriteObject(obj); } } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte((byte)(Asn1Tags.Constructed | Asn1Tags.Tagged | tagNo)); derOut.WriteByte(0x80); if (!IsEmpty()) { if (!explicitly) { IEnumerable eObj; if (obj is Asn1OctetString) { if (obj is BerOctetString) { eObj = (BerOctetString) obj; } else { Asn1OctetString octs = (Asn1OctetString)obj; eObj = new BerOctetString(octs.GetOctets()); } } else if (obj is Asn1Sequence) { eObj = (Asn1Sequence) obj; } else if (obj is Asn1Set) { eObj = (Asn1Set) obj; } else { throw new NotImplementedException("not implemented: " + obj.GetType().Name); } foreach (object o in eObj) { derOut.WriteObject(o); } } else { derOut.WriteObject(obj); } } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode(DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteTag(160, this.tagNo); derOut.WriteByte(128); if (!base.IsEmpty()) { if (!this.explicitly) { IEnumerable enumerable; if (this.obj is Asn1OctetString) { if (this.obj is BerOctetString) { enumerable = (BerOctetString)this.obj; } else { Asn1OctetString asn1OctetString = (Asn1OctetString)this.obj; enumerable = new BerOctetString(asn1OctetString.GetOctets()); } } else if (this.obj is Asn1Sequence) { enumerable = (Asn1Sequence)this.obj; } else { if (!(this.obj is Asn1Set)) { throw Platform.CreateNotImplementedException(this.obj.GetType().Name); } enumerable = (Asn1Set)this.obj; } using (IEnumerator enumerator = enumerable.GetEnumerator()) { while (enumerator.MoveNext()) { Asn1Encodable obj = (Asn1Encodable)enumerator.Current; derOut.WriteObject(obj); } goto IL_119; } } derOut.WriteObject(this.obj); } IL_119: derOut.WriteByte(0); derOut.WriteByte(0); return; } base.Encode(derOut); }
internal override void Encode(DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteTag(160, tagNo); derOut.WriteByte(128); if (!IsEmpty()) { if (!explicitly) { IEnumerable enumerable; if (base.obj is Asn1OctetString) { if (base.obj is BerOctetString) { enumerable = (BerOctetString)base.obj; } else { Asn1OctetString asn1OctetString = (Asn1OctetString)base.obj; enumerable = new BerOctetString(asn1OctetString.GetOctets()); } } else if (base.obj is Asn1Sequence) { enumerable = (Asn1Sequence)base.obj; } else { if (!(base.obj is Asn1Set)) { throw Platform.CreateNotImplementedException(base.obj.GetType().Name); } enumerable = (Asn1Set)base.obj; } foreach (Asn1Encodable item in enumerable) { derOut.WriteObject(item); } } else { derOut.WriteObject(obj); } } derOut.WriteByte(0); derOut.WriteByte(0); } else { base.Encode(derOut); } }
internal override void Encode(DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(48); derOut.WriteByte(128); foreach (Asn1Encodable obj in this) { derOut.WriteObject(obj); } derOut.WriteByte(0); derOut.WriteByte(0); return; } base.Encode(derOut); }
internal override void Encode(DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(5); return; } base.Encode(derOut); }
internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(Asn1Tags.Constructed | Asn1Tags.OctetString); derOut.WriteByte(0x80); // // write out the octet array // if (octs != null) { for (int i = 0; i != octs.Count; i++) { derOut.WriteObject(octs[i]); } } else { for (int i = 0; i < str.Length; i += MaxLength) { int end = System.Math.Min(str.Length, i + MaxLength); byte[] nStr = new byte[end - i]; Array.Copy(str, i, nStr, 0, nStr.Length); derOut.WriteObject(new DerOctetString(nStr)); } } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte((byte)(Asn1Tags.Constructed | Asn1Tags.OctetString)); derOut.WriteByte(0x80); // // write out the octet array // if (octs != null) { for (int i = 0; i != octs.Count; i++) { derOut.WriteObject(octs[i]); } } else { for (int i = 0; i < str.Length; i += MaxLength) { int end = System.Math.Min(str.Length, i + MaxLength); byte[] nStr = new byte[end - i]; Array.Copy(str, i, nStr, 0, nStr.Length); derOut.WriteObject(new DerOctetString(nStr)); } } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte(Asn1Tags.Null); } else { base.Encode(derOut); } }
/* */ internal override void Encode( DerOutputStream derOut) { if (derOut is Asn1OutputStream || derOut is BerOutputStream) { derOut.WriteByte((byte)(Asn1Tags.Sequence | Asn1Tags.Constructed)); derOut.WriteByte(0x80); foreach (object o in this) { derOut.WriteObject(o); } derOut.WriteByte(0x00); derOut.WriteByte(0x00); } else { base.Encode(derOut); } }
internal override void Encode(DerOutputStream derOut) { if ((derOut is Asn1OutputStream) || (derOut is BerOutputStream)) { derOut.WriteTag(160, base.tagNo); derOut.WriteByte(0x80); if (!base.IsEmpty()) { if (!base.explicitly) { IEnumerable enumerable; if (base.obj is Asn1OctetString) { if (base.obj is BerOctetString) { enumerable = (BerOctetString)base.obj; } else { Asn1OctetString str = (Asn1OctetString)base.obj; enumerable = new BerOctetString(str.GetOctets()); } } else if (base.obj is Asn1Sequence) { enumerable = (Asn1Sequence)base.obj; } else { if (!(base.obj is Asn1Set)) { throw Platform.CreateNotImplementedException(Platform.GetTypeName(base.obj)); } enumerable = (Asn1Set)base.obj; } IEnumerator enumerator = enumerable.GetEnumerator(); try { while (enumerator.MoveNext()) { Asn1Encodable current = (Asn1Encodable)enumerator.Current; derOut.WriteObject(current); } } finally { if (enumerator is IDisposable disposable) { IDisposable disposable; disposable.Dispose(); } } } else { derOut.WriteObject(base.obj); } } derOut.WriteByte(0); derOut.WriteByte(0); } else { base.Encode(derOut); } }