AsnReader 类

定义

用于 BER 编码、CER 编码或 DER 编码的 ASN.1 数据的监控状态的只进读取器。

public ref class AsnReader
public class AsnReader
type AsnReader = class
Public Class AsnReader
继承
AsnReader

构造函数

AsnReader(ReadOnlyMemory<Byte>, AsnEncodingRules, AsnReaderOptions)

使用给定的规则集对 data 构造 AsnReader

属性

HasData

获取有关读取器是否具有可供处理的剩余数据的指示。

RuleSet

获取此读取器使用的编码规则。

方法

Clone()

克隆当前读取器。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PeekContentBytes()

获取下一个编码值的内容八进制(字节)的 ReadOnlyMemory<T> 视图(读取器不会前进)。

PeekEncodedValue()

获取下一个编码值的 ReadOnlyMemory<T> 视图(读取器不会前进)。 对于不确定长度的编码,这包括内容结束标记。

PeekTag()

读取下一个数据位置的编码标记(读取器不会前进)。

ReadBitString(Int32, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 BIT STRING 值,并以字节数组形式返回该值。

ReadBoolean(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的布尔值。

ReadCharacterString(UniversalTagNumber, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记和编码类型的字符串值,并以字符串形式返回该解码值。

ReadEncodedValue()

获取下一个编码值的 ReadOnlyMemory<T> 视图,并推进已超过的读取器。 对于不确定长度的编码,这包括内容结束标记。

ReadEnumeratedBytes(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的枚举值,并以原始数据的 ReadOnlyMemory<T> 形式返回内容。

ReadEnumeratedValue(Type, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的枚举值,并将其转换为由 enumType 指定的非 [FlagsAttribute] 枚举。

ReadEnumeratedValue<TEnum>(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的枚举值,并将其转换为由 TEnum 指定的非 [FlagsAttribute] 枚举。

ReadGeneralizedTime(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 GeneralizedTime 值。

ReadInteger(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的整数值。

ReadIntegerBytes(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的整数值,并以原始数据的 ReadOnlyMemory<T> 的形式返回内容。

ReadNamedBitList(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 NamedBitList 值。

ReadNamedBitListValue(Type, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 NamedBitList 值,并将其转换为由 flagsEnumType 指定的 [FlagsAttribute] 枚举。

ReadNamedBitListValue<TFlagsEnum>(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 NamedBitList 值,并将其转换为由 TFlagsEnum 指定的 [FlagsAttribute] 枚举。

ReadNull(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 NULL 值。

ReadObjectIdentifier(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 OBJECT IDENTIFIER 值,并以用点分隔的十进制格式字符串形式返回该值。

ReadOctetString(Nullable<Asn1Tag>)

读取下一个值,作为带有通用 4 标记的 OCTET STRING 值,并以字节数组形式返回该值。

ReadSequence(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 SEQUENCE 或 SEQUENCE-OF 值,并将结果作为定位在序列中的第一个值处(或带有 HasData == false)的一个新读取器的形式返回。

ReadSetOf(Boolean, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 SET-OF 值,并将结果作为定位在 set-of 中的第一个值处(或带有 HasData == false)的一个新读取器返回。

ReadSetOf(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 SET-OF 值,并使用来自构造函数(默认为 false)的 SkipSetSortOrderVerification 值将结果作为定位在 set-of 中的第一个值处(或带有 HasData == false)的一个新读取器返回。

ReadUtcTime(Int32, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 UTCTime 值。

ReadUtcTime(Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记并使用传递给构造函数的选项中的 UtcTimeTwoDigitYearMax 值(默认值为 2049)的 UTCTime 值。

ThrowIfNotEmpty()

如果读取器包含剩余数据,则会引发标准化 AsnContentException,如果 HasData 返回 false,则不执行任何功能。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TryReadBitString(Span<Byte>, Int32, Int32, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 BIT STRING 值,并将该值复制到所提供的目标缓冲区。

TryReadCharacterString(Span<Char>, UniversalTagNumber, Int32, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记和编码类型的字符串值,并将已解码的值复制到所提供的目标缓冲区。

TryReadCharacterStringBytes(Span<Byte>, Asn1Tag, Int32)

读取下一个值,作为带有指定标记的字符串值,并将未处理的字节复制到所提供的目标缓冲区。

TryReadInt32(Int32, Nullable<Asn1Tag>)

尝试读取下一个带有指定标记并作为有符号的 32 位值的整数值。

TryReadInt64(Int64, Nullable<Asn1Tag>)

尝试读取下一个带有指定标记并作为有符号的 64 位值的整数值。

TryReadOctetString(Span<Byte>, Int32, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 OCTET STRING 值,并将该值复制到所提供的目标缓冲区。

TryReadPrimitiveBitString(Int32, ReadOnlyMemory<Byte>, Nullable<Asn1Tag>)

读取下一个值,作为带有指定标记的 BIT STRING 值,并将结果作为原始数据的 ReadOnlyMemory<T> 返回。

TryReadPrimitiveCharacterStringBytes(Asn1Tag, ReadOnlyMemory<Byte>)

读取下一个值,作为带有指定标记的字符值,并将结果作为原始数据的未处理 ReadOnlyMemory<T> 返回。

TryReadPrimitiveOctetString(ReadOnlyMemory<Byte>, Nullable<Asn1Tag>)

尝试读取下一个带有指定标记,并返回原始数据的 ReadOnlyMemory<T> 内容的 OCTET STRING 值。

TryReadUInt32(UInt32, Nullable<Asn1Tag>)

尝试读取下一个带有指定标记并作为无符号的 32 位值的整数值。

TryReadUInt64(UInt64, Nullable<Asn1Tag>)

尝试读取下一个带有指定标记并作为无符号的 64 位值的整数值。

适用于