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
Functions
Link copied to clipboard
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.decodeFromDer(src: ByteArray, limit: Long = src.size.toLong(), assertTag: Asn1Element.Tag? = null): T
Convenience method, directly DER-decoding a byte array to T
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.decodeFromDer(src: Source<*>, limit: Long?, assertTag: Asn1Element.Tag? = null): T
Decodes src as DER using this Asn1Decodable.
Link copied to clipboard
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.decodeFromDerOrNull(src: ByteArray, limit: Long = src.size.toLong(), assertTag: Asn1Element.Tag? = null): T?
Exception-free version of decodeFromDer
Link copied to clipboard
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
Decodes one ASN.1-backed value via DER bytes.
Link copied to clipboard
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.parseFromDerHexString(derEncoded: String): T
fun <A : Asn1Element, T : Asn1Encodable<A>> Asn1Decodable<A, T>.parseFromDerHexString(derEncoded: String, limit: Long): T
Convenience method to directly parse a HEX-string representation of DER-encoded data. Ignores and strips all whitespace.
Link copied to clipboard
Specify assertTag for verifying implicitly tagged elements' tags (and better not override this function).