internal override void Encode(DerOutputStream derOut)
        {
            var tok = new OidTokenizer(_identifier);

            using (var bOut = new MemoryStream())
            {
                using (var dOut = new DerOutputStream(bOut))
                {
                    string token = tok.NextToken();
                    int    first = int.Parse(token);

                    token = tok.NextToken();
                    int second = int.Parse(token);

                    WriteField(bOut, first * 40 + second);

                    while (tok.HasMoreTokens)
                    {
                        token = tok.NextToken();
                        if (token.Length < 18)
                        {
                            WriteField(bOut, Int64.Parse(token));
                        }
                        else
                        {
                            WriteField(bOut, new BigInteger(token));
                        }
                    }

                    dOut.Dispose();

                    derOut.WriteEncoded(Asn1Tags.ObjectIdentifier, bOut.ToArray());
                }
            }
        }
        internal override void Encode(DerOutputStream derOut)
        {
            var tok = new OidTokenizer(_identifier);
            using (var bOut = new MemoryStream())
            {
                using (var dOut = new DerOutputStream(bOut))
                {
                    string token = tok.NextToken();
                    int first = int.Parse(token);

                    token = tok.NextToken();
                    int second = int.Parse(token);

                    WriteField(bOut, first*40 + second);

                    while (tok.HasMoreTokens)
                    {
                        token = tok.NextToken();
                        if (token.Length < 18)
                        {
                            WriteField(bOut, Int64.Parse(token));
                        }
                        else
                        {
                            WriteField(bOut, new BigInteger(token));
                        }
                    }

                    dOut.Dispose();

                    derOut.WriteEncoded(Asn1Tags.ObjectIdentifier, bOut.ToArray());
                }
            }
        }