PemDecodable

abstract class PemDecodable<A : Asn1Element, out T : PemEncodable<A>> : Asn1Decodable<A, T> (source)

Specialization of Asn1Decodable, able to parse PEM-encoded strings as per RFC 1421. Use in tandem with PemEncodable.

Constructors

Link copied to clipboard
constructor(vararg ebStrings: String)
constructor(vararg decoders: Pair<String, (ByteArray) -> T?>)

Functions

Link copied to clipboard
open fun decodeFromDer(src: ByteArray, assertTag: Asn1Element.Tag? = null): T

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

Link copied to clipboard
open fun decodeFromDerOrNull(src: ByteArray, assertTag: Asn1Element.Tag? = null): T?

Exception-free version of decodeFromDer

Link copied to clipboard
open fun decodeFromDerSafe(src: ByteArray, assertTag: Asn1Element.Tag? = null): KmmResult<T>

Safe version of decodeFromDer, wrapping the result into a KmmResult

Link copied to clipboard
fun decodeFromPem(src: String): KmmResult<T>

Decodes a PEM-encoded string into T

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

Processes an A, parsing it into an instance of T

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

Exception-free version of decodeFromTlv

Link copied to clipboard
open fun decodeFromTlvSafe(src: A, assertTag: Asn1Element.Tag? = null): KmmResult<T>

Safe version of decodeFromTlv, wrapping the result into a KmmResult

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

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

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

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