コード例 #1
0
        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);
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
ファイル: BerSequence.cs プロジェクト: Bectinced-aeN/vrcsdk
 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);
     }
 }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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);
            }
        }
コード例 #7
0
        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);
        }
コード例 #8
0
 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);
     }
 }
コード例 #9
0
 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);
 }
コード例 #10
0
ファイル: BerNull.cs プロジェクト: UnforeseenOcean/Warmode
 internal override void Encode(DerOutputStream derOut)
 {
     if (derOut is Asn1OutputStream || derOut is BerOutputStream)
     {
         derOut.WriteByte(5);
         return;
     }
     base.Encode(derOut);
 }
コード例 #11
0
ファイル: BerOctetString.cs プロジェクト: hjgode/iTextSharpCF
        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);
            }
        }
コード例 #12
0
        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);
            }
        }
コード例 #13
0
ファイル: BerNull.cs プロジェクト: htlp/itextsharp
		internal override void Encode(
			DerOutputStream  derOut)
		{
			if (derOut is Asn1OutputStream || derOut is BerOutputStream)
			{
				derOut.WriteByte(Asn1Tags.Null);
			}
			else
			{
				base.Encode(derOut);
			}
		}
コード例 #14
0
 internal override void Encode(
     DerOutputStream derOut)
 {
     if (derOut is Asn1OutputStream || derOut is BerOutputStream)
     {
         derOut.WriteByte(Asn1Tags.Null);
     }
     else
     {
         base.Encode(derOut);
     }
 }
コード例 #15
0
        /*
         */
        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);
            }
        }
コード例 #16
0
 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);
     }
 }