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()); } } }