Asn1Serializer

abstract class Asn1Serializer<A : Asn1Element, T : Asn1Encodable<A>>(val leadingTags: Set<Asn1Element.Tag>, decodable: Asn1Decodable<A, T>, fallbackSerializer: KSerializer<T>? = null) : Asn1Serializable<A, T> , Asn1Decodable<A, T> (source)

Inheritors

Constructors

Link copied to clipboard
constructor(leadingTags: Set<Asn1Element.Tag>, decodable: Asn1Decodable<A, T>, fallbackSerializer: KSerializer<T>? = null)

Properties

Link copied to clipboard
open override val descriptor: SerialDescriptor
Link copied to clipboard
open override val leadingTags: Set<Asn1Element.Tag>

Leading ASN.1 tags this serializer can decode/encode.

Functions

Link copied to clipboard

Convenience method, directly DER-decoding a byte array to T

fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.decodeFromDer(src: Source<*>, assertTag: Asn1Element.Tag? = null): T
Link copied to clipboard

Exception-free version of decodeFromDer

Link copied to clipboard
open override fun decodeFromTlv(src: A, assertTag: Asn1Element.Tag?): T

Processes an A, parsing it into an instance of T

Link copied to clipboard
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.decodeFromTlvOrNull(src: A, assertTag: Asn1Element.Tag? = null): T?

Exception-free version of Asn1Decodable.decodeFromTlv

Link copied to clipboard
open override fun deserialize(decoder: Decoder): T

Decodes one ASN.1-backed value via DER bytes.

Link copied to clipboard
open override fun doDecode(src: A): T

Actual element-specific decoding function. By default, this is invoked after verifyTag

Link copied to clipboard
open override fun serialize(encoder: Encoder, value: T)

Encodes one ASN.1-backed value via DER bytes.

Link copied to clipboard
open override fun verifyTag(src: A, assertTag: Asn1Element.Tag?)

Specify assertTag for verifying implicitly tagged elements' tags (and better not override this function).