protected static string ReadHintName(byte[] buffer, ref int offset) { int constructionLength = DerEncodingHelper.ReadLength(buffer, ref offset); byte tag = ByteReader.ReadByte(buffer, ref offset); if (tag != (byte)DerEncodingTag.GeneralString) { throw new InvalidDataException(); } int hintLength = DerEncodingHelper.ReadLength(buffer, ref offset); byte[] hintNameBytes = ByteReader.ReadBytes(buffer, ref offset, hintLength); return(DerEncodingHelper.DecodeGeneralString(hintNameBytes)); }