From 63ddbb317973181165ef72bd2cfa816f6f83bc73 Mon Sep 17 00:00:00 2001 From: Gustavo Fao Valvassori Date: Fri, 28 Aug 2026 18:18:13 -0300 Subject: [PATCH 1/4] adding ABI dump and validation --- .github/workflows/tests.yml | 4 +- CLAUDE.md | 6 + CONTRIBUTING.md | 23 + .../kotlin-compiler-111190286871990038.salive | 0 .../kjwt.multiplatform-library.gradle.kts | 13 + core/api/kjwt-core.api | 1099 +++++++++++++++ core/api/kjwt-core.klib.api | 1203 +++++++++++++++++ ...kjwt-cryptography-kotlin-processor-ext.api | 178 +++ ...cryptography-kotlin-processor-ext.klib.api | 92 ++ .../kjwt-cryptography-kotlin-processor.api | 125 ++ ...jwt-cryptography-kotlin-processor.klib.api | 175 +++ gradle/libs.versions.toml | 12 +- .../kjwt-hardware-backed-processor.klib.api | 49 + 13 files changed, 2971 insertions(+), 8 deletions(-) delete mode 100644 build-logic/.kotlin/sessions/kotlin-compiler-111190286871990038.salive create mode 100644 core/api/kjwt-core.api create mode 100644 core/api/kjwt-core.klib.api create mode 100644 cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.api create mode 100644 cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.klib.api create mode 100644 cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.api create mode 100644 cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.klib.api create mode 100644 hardware-backed/processor/api/kjwt-hardware-backed-processor.klib.api diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c50d1623..483d51d0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -87,7 +87,7 @@ jobs: - name: Run tests if: matrix.android != true - run: ./gradlew ${{ matrix.tasks }} --continue + run: ./gradlew ${{ matrix.tasks }} checkKotlinAbi --continue - name: Run tests (Android emulator) if: matrix.android == true @@ -96,7 +96,7 @@ jobs: api-level: ${{ matrix.api-level }} target: ${{ matrix.target }} arch: x86_64 - script: ./gradlew connectedAndroidDeviceTest --continue + script: ./gradlew connectedAndroidDeviceTest checkKotlinAbi --continue - name: Publish Test Report uses: mikepenz/action-junit-report@v6 diff --git a/CLAUDE.md b/CLAUDE.md index 9c7cec65..5abffcee 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,6 +24,12 @@ RFC 7515), and JWE (RFC 7516) tokens across JVM, JavaScript, WebAssembly, and Na # Run all checks ./gradlew check + +# Check ABI Compatibility +./gradlew checkKotlinAbi + +# Update ABI dumps +./gradlew updateKotlinAbi ``` Tests live in `lib/src/commonTest/kotlin/` and run on all platforms. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d37faa7e..173f48ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,6 +63,29 @@ The CI pipeline also runs detekt automatically on pull requests and posts inline The detekt configuration lives in `config/detekt/detekt.yml`. Zero violations are allowed (`maxIssues: 0`). +### ABI Compatibility + +The project uses the Kotlin ABI validator to track the public API of every published module. Each module keeps its +ABI dumps in an `api/` directory (`.api` for JVM/Android and `.klib.api` for the other targets). +Declarations annotated with `@InternalKJWTApi` are excluded from the dumps. + +Before submitting a PR, run: + +```bash +./gradlew checkKotlinAbi +``` + +This fails if the public API differs from the committed dumps. If your change intentionally modifies the public API +(adding, removing, or changing a public declaration), regenerate the dumps and commit them alongside your change: + +```bash +./gradlew updateKotlinAbi +``` + +Review the resulting diff in the `api/` files carefully: it is the source of truth for what changed in the public +API, and reviewers use it to spot unintended or breaking changes. The CI pipeline runs `checkKotlinAbi` on every pull +request. + ### Writing Tests Tests live in `lib/src/commonTest/kotlin/` and run on all platforms. diff --git a/build-logic/.kotlin/sessions/kotlin-compiler-111190286871990038.salive b/build-logic/.kotlin/sessions/kotlin-compiler-111190286871990038.salive deleted file mode 100644 index e69de29b..00000000 diff --git a/build-logic/src/main/kotlin/kjwt.multiplatform-library.gradle.kts b/build-logic/src/main/kotlin/kjwt.multiplatform-library.gradle.kts index 0778b238..7a209912 100644 --- a/build-logic/src/main/kotlin/kjwt.multiplatform-library.gradle.kts +++ b/build-logic/src/main/kotlin/kjwt.multiplatform-library.gradle.kts @@ -1,4 +1,6 @@ import kjwt.configureTests +import org.jetbrains.kotlin.gradle.dsl.abi.BinariesSource +import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation plugins { kotlin("multiplatform") @@ -13,6 +15,17 @@ plugins { kotlin { explicitApi() + @OptIn(ExperimentalAbiValidation::class) + abiValidation { + binariesSource.set(BinariesSource.MAVEN_PUBLICATIONS) + + filters { + exclude { + annotatedWith.add("co.touchlab.kjwt.annotations.InternalKJWTApi") + } + } + } + compilerOptions { freeCompilerArgs.add("-Xexpect-actual-classes") } diff --git a/core/api/kjwt-core.api b/core/api/kjwt-core.api new file mode 100644 index 00000000..e86ff58d --- /dev/null +++ b/core/api/kjwt-core.api @@ -0,0 +1,1099 @@ +public final class co/touchlab/kjwt/Jwt { + public static final field INSTANCE Lco/touchlab/kjwt/Jwt; + public final fun builder (Lkotlinx/serialization/json/Json;)Lco/touchlab/kjwt/builder/JwtBuilder; + public static synthetic fun builder$default (Lco/touchlab/kjwt/Jwt;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun getDefaultJsonParser ()Lkotlinx/serialization/json/Json; + public final fun parser (Lkotlinx/serialization/json/Json;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun parser$default (Lco/touchlab/kjwt/Jwt;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun setDefaultJsonParser (Lkotlinx/serialization/json/Json;)V +} + +public abstract interface annotation class co/touchlab/kjwt/annotations/DelicateKJWTApi : java/lang/annotation/Annotation { +} + +public abstract interface annotation class co/touchlab/kjwt/annotations/ExperimentalKJWTApi : java/lang/annotation/Annotation { +} + +public abstract interface annotation class co/touchlab/kjwt/annotations/InternalKJWTApi : java/lang/annotation/Annotation { +} + +public final class co/touchlab/kjwt/builder/JwtBuilder { + public fun (Lkotlinx/serialization/json/Json;)V + public final fun audience ([Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun build ()Lco/touchlab/kjwt/model/JwtInstance$Jws; + public final fun claim (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun claim (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun claims (Lkotlin/jvm/functions/Function1;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun contentType (Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun encryptWith (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun encryptWithJweProcessor (Lco/touchlab/kjwt/processor/JweEncryptor;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun encryptWithJweProcessor$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/processor/JweEncryptor;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun expiration (Lkotlin/time/Instant;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun expiresIn-LRDsOJo (J)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun getHeaderBuilder ()Lco/touchlab/kjwt/model/JwtHeader$Builder; + public final fun getPayloadBuilder ()Lco/touchlab/kjwt/model/JwtPayload$Builder; + public final fun header (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun header (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun header (Lkotlin/jvm/functions/Function1;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun header (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun id (Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun issuedAt (Lkotlin/time/Instant;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun issuedNow ()Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun issuer (Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun notBefore (Lkotlin/time/Instant;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun notBeforeNow ()Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun payload (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun randomId ()Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun signWith (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun signWith (Lco/touchlab/kjwt/processor/JwsSigner;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/processor/JwsSigner;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun subject (Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; + public final fun type (Ljava/lang/String;)Lco/touchlab/kjwt/builder/JwtBuilder; +} + +public final class co/touchlab/kjwt/exception/ExpiredJwtException : co/touchlab/kjwt/exception/JwtException { + public fun (Lco/touchlab/kjwt/model/JwtHeader;Lco/touchlab/kjwt/model/JwtPayload;Ljava/lang/String;)V + public final fun getClaims ()Lco/touchlab/kjwt/model/JwtPayload; + public final fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; +} + +public final class co/touchlab/kjwt/exception/IncorrectClaimException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V + public final fun getActual ()Ljava/lang/Object; + public final fun getClaimName ()Ljava/lang/String; + public final fun getExpected ()Ljava/lang/Object; +} + +public class co/touchlab/kjwt/exception/JwtException : java/lang/Exception { + public fun (Ljava/lang/String;Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/exception/MalformedJwkException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/exception/MalformedJwtException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/exception/MissingClaimException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;)V + public final fun getClaimName ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/exception/MissingHeaderException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;)V + public final fun getHeaderName ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/exception/PrematureJwtException : co/touchlab/kjwt/exception/JwtException { + public fun (Lco/touchlab/kjwt/model/JwtHeader;Lco/touchlab/kjwt/model/JwtPayload;Ljava/lang/String;)V + public final fun getClaims ()Lco/touchlab/kjwt/model/JwtPayload; + public final fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; +} + +public final class co/touchlab/kjwt/exception/SignatureException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/exception/UnsupportedJwtException : co/touchlab/kjwt/exception/JwtException { + public fun (Ljava/lang/String;Ljava/lang/Throwable;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/ext/JwtHeaderExtKt { + public static final fun getContentType (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getContentTypeOrNull (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getEncryption (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getEncryptionOrNull (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getKeyId (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getKeyIdOrNull (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getType (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; + public static final fun getTypeOrNull (Lco/touchlab/kjwt/model/JwtHeader;)Ljava/lang/String; +} + +public final class co/touchlab/kjwt/ext/JwtPayloadExtKt { + public static final fun getAudience (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/util/Set; + public static final fun getAudienceOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/util/Set; + public static final fun getExpiration (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getExpirationOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getIssuedAt (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getIssuedAtOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getIssuer (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; + public static final fun getIssuerOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; + public static final fun getJwtId (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; + public static final fun getJwtIdOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; + public static final fun getNotBefore (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getNotBeforeOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Lkotlin/time/Instant; + public static final fun getSubject (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; + public static final fun getSubjectOrNull (Lco/touchlab/kjwt/model/JwtPayload;)Ljava/lang/String; +} + +public final class co/touchlab/kjwt/ext/JwtProcessorKt { + public static final fun mergeWith (Lco/touchlab/kjwt/processor/BaseJweProcessor;Lco/touchlab/kjwt/processor/BaseJweProcessor;)Lco/touchlab/kjwt/processor/BaseJweProcessor; + public static final fun mergeWith (Lco/touchlab/kjwt/processor/BaseJwsProcessor;Lco/touchlab/kjwt/processor/BaseJwsProcessor;)Lco/touchlab/kjwt/processor/BaseJwsProcessor; +} + +public final class co/touchlab/kjwt/model/JwtHeader { + public static final field ALG Ljava/lang/String; + public static final field CTY Ljava/lang/String; + public static final field Companion Lco/touchlab/kjwt/model/JwtHeader$Companion; + public static final field ENC Ljava/lang/String; + public static final field KID Ljava/lang/String; + public static final field TYP Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public final fun getAlgorithm ()Ljava/lang/String; + public final fun getHeader (Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getHeader$default (Lco/touchlab/kjwt/model/JwtHeader;Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getHeaderOrNull (Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getHeaderOrNull$default (Lco/touchlab/kjwt/model/JwtHeader;Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getJsonData ()Lkotlinx/serialization/json/JsonObject; + public final fun hasHeader (Ljava/lang/String;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/JwtHeader$Builder { + public fun ()V + public final fun extra (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;)V + public final fun extra (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V + public static synthetic fun extra$default (Lco/touchlab/kjwt/model/JwtHeader$Builder;Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)V + public final fun getContentType ()Ljava/lang/String; + public final fun getType ()Ljava/lang/String; + public final fun setContentType (Ljava/lang/String;)V + public final fun setType (Ljava/lang/String;)V + public final fun takeFrom (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;)V + public static synthetic fun takeFrom$default (Lco/touchlab/kjwt/model/JwtHeader$Builder;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)V +} + +public final class co/touchlab/kjwt/model/JwtHeader$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class co/touchlab/kjwt/model/JwtInstance { + public abstract fun compact ()Ljava/lang/String; + public abstract fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; + public final fun getHeader (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getHeader$default (Lco/touchlab/kjwt/model/JwtInstance;Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun getPayload ()Lco/touchlab/kjwt/model/JwtPayload; + public final fun getPayload (Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getPayload$default (Lco/touchlab/kjwt/model/JwtInstance;Lkotlinx/serialization/KSerializer;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/JwtInstance$Jwe : co/touchlab/kjwt/model/JwtInstance { + public fun compact ()Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public final fun getAad ()Ljava/lang/String; + public final fun getCipherText ()Ljava/lang/String; + public final fun getEncryptedKey ()Ljava/lang/String; + public fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; + public final fun getIv ()Ljava/lang/String; + public fun getPayload ()Lco/touchlab/kjwt/model/JwtPayload; + public final fun getTag ()Ljava/lang/String; + public fun hashCode ()I +} + +public final class co/touchlab/kjwt/model/JwtInstance$Jws : co/touchlab/kjwt/model/JwtInstance { + public fun compact ()Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; + public fun getPayload ()Lco/touchlab/kjwt/model/JwtPayload; + public final fun getSignature ()Ljava/lang/String; + public final fun getSignatures ()Ljava/util/List; + public fun hashCode ()I +} + +public final class co/touchlab/kjwt/model/JwtInstance$Jws$Signature { + public fun (Lco/touchlab/kjwt/model/JwtHeader;Ljava/lang/String;)V + public final fun getHeader ()Lco/touchlab/kjwt/model/JwtHeader; + public final fun getSignature ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/JwtPayload { + public static final field AUD Ljava/lang/String; + public static final field Companion Lco/touchlab/kjwt/model/JwtPayload$Companion; + public static final field EXP Ljava/lang/String; + public static final field IAT Ljava/lang/String; + public static final field ISS Ljava/lang/String; + public static final field JTI Ljava/lang/String; + public static final field NBF Ljava/lang/String; + public static final field SUB Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public final fun getClaim (Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getClaim$default (Lco/touchlab/kjwt/model/JwtPayload;Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getClaimOrNull (Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;)Ljava/lang/Object; + public static synthetic fun getClaimOrNull$default (Lco/touchlab/kjwt/model/JwtPayload;Lkotlinx/serialization/DeserializationStrategy;Ljava/lang/String;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getJsonData ()Lkotlinx/serialization/json/JsonObject; + public final fun hasClaim (Ljava/lang/String;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/JwtPayload$Builder { + public fun ()V + public final fun claim (Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;)V + public final fun claim (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V + public static synthetic fun claim$default (Lco/touchlab/kjwt/model/JwtPayload$Builder;Ljava/lang/String;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)V + public final fun expiresIn-LRDsOJo (J)V + public final fun getAudience ()Ljava/util/Set; + public final fun getContent ()Ljava/util/Map; + public final fun getExpiration ()Lkotlin/time/Instant; + public final fun getId ()Ljava/lang/String; + public final fun getIssuedAt ()Lkotlin/time/Instant; + public final fun getIssuer ()Ljava/lang/String; + public final fun getNotBefore ()Lkotlin/time/Instant; + public final fun getSubject ()Ljava/lang/String; + public final fun issuedNow ()V + public final fun notBeforeNow ()V + public final fun randomId ()V + public final fun setAudience (Ljava/util/Set;)V + public final fun setExpiration (Lkotlin/time/Instant;)V + public final fun setId (Ljava/lang/String;)V + public final fun setIssuedAt (Lkotlin/time/Instant;)V + public final fun setIssuer (Ljava/lang/String;)V + public final fun setNotBefore (Lkotlin/time/Instant;)V + public final fun setSubject (Ljava/lang/String;)V + public final fun takeFrom (Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;)V + public static synthetic fun takeFrom$default (Lco/touchlab/kjwt/model/JwtPayload$Builder;Lkotlinx/serialization/SerializationStrategy;Ljava/lang/Object;Lkotlinx/serialization/json/Json;ILjava/lang/Object;)V +} + +public final class co/touchlab/kjwt/model/JwtPayload$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm : co/touchlab/kjwt/model/algorithm/Jwa { + public static final field Companion Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Companion; + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Companion { + public final fun fromId (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir : co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased : co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm, co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$RsaOaep : co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$RsaOaep; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$RsaOaep256 : co/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$RsaOaep256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm { + public static final field Companion Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$Companion; + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A128CbcHs256 : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesCBCBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A128CbcHs256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A128GCM : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesGCMBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A128GCM; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A192CbcHs384 : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesCBCBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A192CbcHs384; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A192GCM : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesGCMBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A192GCM; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A256CbcHs512 : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesCBCBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A256CbcHs512; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A256GCM : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesGCMBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$A256GCM; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesCBCBased : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public abstract class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$AesGCMBased : co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V +} + +public final class co/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm$Companion { + public final fun fromId (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm; +} + +public abstract interface class co/touchlab/kjwt/model/algorithm/Jwa { + public static final field Companion Lco/touchlab/kjwt/model/algorithm/Jwa$Companion; + public abstract fun getId ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/Jwa$Companion { + public final fun fromId (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/Jwa; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public abstract fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/JweEncryptResult { + public fun ([B[B[B[B)V + public fun equals (Ljava/lang/Object;)Z + public final fun getCiphertext ()[B + public final fun getEncryptedKey ()[B + public final fun getIv ()[B + public final fun getTag ()[B + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/JwtCurve : java/lang/Enum { + public static final field P256 Lco/touchlab/kjwt/model/algorithm/JwtCurve; + public static final field P384 Lco/touchlab/kjwt/model/algorithm/JwtCurve; + public static final field P521 Lco/touchlab/kjwt/model/algorithm/JwtCurve; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/JwtCurve; + public static fun values ()[Lco/touchlab/kjwt/model/algorithm/JwtCurve; +} + +public final class co/touchlab/kjwt/model/algorithm/JwtDigest : java/lang/Enum { + public static final field SHA1 Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static final field SHA256 Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static final field SHA384 Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static final field SHA512 Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static fun values ()[Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/JwtEdCurve : java/lang/Enum { + public static final field Ed25519 Lco/touchlab/kjwt/model/algorithm/JwtEdCurve; + public static final field Ed448 Lco/touchlab/kjwt/model/algorithm/JwtEdCurve; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/JwtEdCurve; + public static fun values ()[Lco/touchlab/kjwt/model/algorithm/JwtEdCurve; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm : co/touchlab/kjwt/model/algorithm/Jwa { + public static final field Companion Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$Companion; + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$Companion { + public final fun fromId (Ljava/lang/String;)Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased : co/touchlab/kjwt/model/algorithm/SigningAlgorithm, co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getCurve ()Lco/touchlab/kjwt/model/algorithm/JwtCurve; + public fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES256 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES384 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES384; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES512 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ES512; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$Ed25519 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$Ed25519; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$Ed448 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$Ed448; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased : co/touchlab/kjwt/model/algorithm/SigningAlgorithm { + public synthetic fun (Ljava/lang/String;Lco/touchlab/kjwt/model/algorithm/JwtEdCurve;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getCurve ()Lco/touchlab/kjwt/model/algorithm/JwtEdCurve; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS256 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS384 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS384; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS512 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$HS512; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased : co/touchlab/kjwt/model/algorithm/SigningAlgorithm, co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$None : co/touchlab/kjwt/model/algorithm/SigningAlgorithm { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$None; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$None$SimpleProcessor : co/touchlab/kjwt/processor/JwsProcessor { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$None$SimpleProcessor; + public fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public fun getKeyId ()Ljava/lang/String; + public fun sign ([BLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun verify ([B[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based : co/touchlab/kjwt/model/algorithm/SigningAlgorithm, co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS256 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS384 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS384; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS512 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PS512; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased : co/touchlab/kjwt/model/algorithm/SigningAlgorithm, co/touchlab/kjwt/model/algorithm/Jwa$UsesHashingAlgorithm { + public synthetic fun (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun getDigest ()Lco/touchlab/kjwt/model/algorithm/JwtDigest; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS256 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS256; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS384 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS384; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS512 : co/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based { + public static final field INSTANCE Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$RS512; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public abstract class co/touchlab/kjwt/model/jwk/Jwk { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Companion; + public abstract fun getAlg ()Ljava/lang/String; + public abstract fun getKeyOps ()Ljava/util/List; + public abstract fun getKid ()Ljava/lang/String; + public abstract fun getThumbprint ()Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public abstract fun getUse ()Ljava/lang/String; + public abstract fun isPrivate ()Z +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Ec : co/touchlab/kjwt/model/jwk/Jwk { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Ec$Companion; + public static final field KTY Ljava/lang/String; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/util/List; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec; + public fun equals (Ljava/lang/Object;)Z + public fun getAlg ()Ljava/lang/String; + public final fun getCrv ()Ljava/lang/String; + public final fun getD ()Ljava/lang/String; + public fun getKeyOps ()Ljava/util/List; + public fun getKid ()Ljava/lang/String; + public fun getThumbprint ()Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public fun getUse ()Ljava/lang/String; + public final fun getX ()Ljava/lang/String; + public final fun getY ()Ljava/lang/String; + public fun hashCode ()I + public fun isPrivate ()Z + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Ec$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint : co/touchlab/kjwt/model/jwk/Jwk$Thumbprint { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint; + public fun equals (Ljava/lang/Object;)Z + public final fun getCrv ()Ljava/lang/String; + public final fun getX ()Ljava/lang/String; + public final fun getY ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Oct : co/touchlab/kjwt/model/jwk/Jwk { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Oct$Companion; + public static final field KTY Ljava/lang/String; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/util/List; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct; + public fun equals (Ljava/lang/Object;)Z + public fun getAlg ()Ljava/lang/String; + public final fun getK ()Ljava/lang/String; + public fun getKeyOps ()Ljava/util/List; + public fun getKid ()Ljava/lang/String; + public fun getThumbprint ()Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public fun getUse ()Ljava/lang/String; + public fun hashCode ()I + public fun isPrivate ()Z + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Oct$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint : co/touchlab/kjwt/model/jwk/Jwk$Thumbprint { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint$Companion; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint; + public fun equals (Ljava/lang/Object;)Z + public final fun getK ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Okp : co/touchlab/kjwt/model/jwk/Jwk { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Okp$Companion; + public static final field KTY Ljava/lang/String; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp; + public fun equals (Ljava/lang/Object;)Z + public fun getAlg ()Ljava/lang/String; + public final fun getCrv ()Ljava/lang/String; + public final fun getD ()Ljava/lang/String; + public fun getKeyOps ()Ljava/util/List; + public fun getKid ()Ljava/lang/String; + public fun getThumbprint ()Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public fun getUse ()Ljava/lang/String; + public final fun getX ()Ljava/lang/String; + public fun hashCode ()I + public fun isPrivate ()Z + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Okp$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint : co/touchlab/kjwt/model/jwk/Jwk$Thumbprint { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint; + public fun equals (Ljava/lang/Object;)Z + public final fun getCrv ()Ljava/lang/String; + public final fun getX ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Rsa : co/touchlab/kjwt/model/jwk/Jwk { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$Companion; + public static final field KTY Ljava/lang/String; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component10 ()Ljava/util/List; + public final fun component11 ()Ljava/lang/String; + public final fun component12 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun component7 ()Ljava/lang/String; + public final fun component8 ()Ljava/lang/String; + public final fun component9 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa; + public fun equals (Ljava/lang/Object;)Z + public fun getAlg ()Ljava/lang/String; + public final fun getD ()Ljava/lang/String; + public final fun getDp ()Ljava/lang/String; + public final fun getDq ()Ljava/lang/String; + public final fun getE ()Ljava/lang/String; + public fun getKeyOps ()Ljava/util/List; + public fun getKid ()Ljava/lang/String; + public final fun getN ()Ljava/lang/String; + public final fun getP ()Ljava/lang/String; + public final fun getQ ()Ljava/lang/String; + public final fun getQi ()Ljava/lang/String; + public fun getThumbprint ()Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public fun getUse ()Ljava/lang/String; + public fun hashCode ()I + public fun isPrivate ()Z + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Rsa$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint : co/touchlab/kjwt/model/jwk/Jwk$Thumbprint { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint; + public fun equals (Ljava/lang/Object;)Z + public final fun getE ()Ljava/lang/String; + public final fun getN ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class co/touchlab/kjwt/model/jwk/Jwk$Thumbprint { + public static final field Companion Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint$Companion; +} + +public final class co/touchlab/kjwt/model/jwk/Jwk$Thumbprint$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/JwkSet { + public static final field Companion Lco/touchlab/kjwt/model/jwk/JwkSet$Companion; + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lco/touchlab/kjwt/model/jwk/JwkSet; + public static synthetic fun copy$default (Lco/touchlab/kjwt/model/jwk/JwkSet;Ljava/util/List;ILjava/lang/Object;)Lco/touchlab/kjwt/model/jwk/JwkSet; + public fun equals (Ljava/lang/Object;)Z + public final fun findById (Ljava/lang/String;)Lco/touchlab/kjwt/model/jwk/Jwk; + public final fun findByUse (Ljava/lang/String;)Ljava/util/List; + public final fun getKeys ()Ljava/util/List; + public fun hashCode ()I + public final fun publicKeys ()Lco/touchlab/kjwt/model/jwk/JwkSet; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class co/touchlab/kjwt/model/jwk/JwkSet$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/model/jwk/JwkSet$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/JwkSet; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/JwkSet;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/jwk/JwkSet$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class co/touchlab/kjwt/model/registry/DefaultJwtProcessorRegistry : co/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry { + public fun ()V + public fun delegateTo (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;)V + public fun findBestJweProcessor (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/processor/BaseJweProcessor; + public fun findBestJwsProcessor (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/processor/BaseJwsProcessor; + public fun registerJweProcessor (Lco/touchlab/kjwt/processor/BaseJweProcessor;Ljava/lang/String;)V + public fun registerJwsProcessor (Lco/touchlab/kjwt/processor/BaseJwsProcessor;Ljava/lang/String;)V +} + +public abstract interface class co/touchlab/kjwt/model/registry/JwtProcessorRegistry { + public abstract fun delegateTo (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;)V + public abstract fun findBestJweProcessor (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/processor/BaseJweProcessor; + public abstract fun findBestJwsProcessor (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/processor/BaseJwsProcessor; + public abstract fun getDelegateKeyRegistry ()Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry; +} + +public abstract interface class co/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry : co/touchlab/kjwt/model/registry/JwtProcessorRegistry { + public abstract fun registerJweProcessor (Lco/touchlab/kjwt/processor/BaseJweProcessor;Ljava/lang/String;)V + public static synthetic fun registerJweProcessor$default (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/processor/BaseJweProcessor;Ljava/lang/String;ILjava/lang/Object;)V + public abstract fun registerJwsProcessor (Lco/touchlab/kjwt/processor/BaseJwsProcessor;Ljava/lang/String;)V + public static synthetic fun registerJwsProcessor$default (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/processor/BaseJwsProcessor;Ljava/lang/String;ILjava/lang/Object;)V +} + +public final class co/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry$DefaultImpls { + public static synthetic fun registerJweProcessor$default (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/processor/BaseJweProcessor;Ljava/lang/String;ILjava/lang/Object;)V + public static synthetic fun registerJwsProcessor$default (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/processor/BaseJwsProcessor;Ljava/lang/String;ILjava/lang/Object;)V +} + +public final class co/touchlab/kjwt/parser/JwtParser { + public final fun parse (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun parseEncrypted (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun parseSigned (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/parser/JwtParserBuilder { + public fun (Lkotlinx/serialization/json/Json;)V + public final fun allowUnsecured (Z)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun build ()Lco/touchlab/kjwt/parser/JwtParser; + public final fun clockSkew (J)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun decryptWith (Lco/touchlab/kjwt/processor/JweProcessor;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun getValidators ()Ljava/util/List; + public final fun noVerify ()Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun requireAudience (Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun requireIssuer (Ljava/lang/String;Z)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun requireIssuer$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Ljava/lang/String;ZILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun requireSubject (Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun useKeysFrom (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public final fun verifyWith (Lco/touchlab/kjwt/processor/JwsProcessor;)Lco/touchlab/kjwt/parser/JwtParserBuilder; +} + +public abstract interface class co/touchlab/kjwt/processor/BaseJweProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/BaseJweProcessor$Companion; + public abstract fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public abstract fun getKeyId ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/processor/BaseJweProcessor$Companion { +} + +public abstract interface class co/touchlab/kjwt/processor/BaseJwsProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/BaseJwsProcessor$Companion; + public abstract fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public abstract fun getKeyId ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/processor/BaseJwsProcessor$Companion { +} + +public abstract interface class co/touchlab/kjwt/processor/JweDecryptor : co/touchlab/kjwt/processor/BaseJweProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/JweDecryptor$Companion; + public abstract fun decrypt ([B[B[B[B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/processor/JweDecryptor$Companion { +} + +public abstract interface class co/touchlab/kjwt/processor/JweEncryptor : co/touchlab/kjwt/processor/BaseJweProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/JweEncryptor$Companion; + public abstract fun encrypt ([B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/processor/JweEncryptor$Companion { +} + +public abstract interface class co/touchlab/kjwt/processor/JweProcessor : co/touchlab/kjwt/processor/BaseJweProcessor, co/touchlab/kjwt/processor/JweDecryptor, co/touchlab/kjwt/processor/JweEncryptor { + public static final field Companion Lco/touchlab/kjwt/processor/JweProcessor$Companion; +} + +public final class co/touchlab/kjwt/processor/JweProcessor$Companion { + public final fun combining (Lco/touchlab/kjwt/processor/JweEncryptor;Lco/touchlab/kjwt/processor/JweDecryptor;)Lco/touchlab/kjwt/processor/JweProcessor; +} + +public abstract interface class co/touchlab/kjwt/processor/JwsProcessor : co/touchlab/kjwt/processor/BaseJwsProcessor, co/touchlab/kjwt/processor/JwsSigner, co/touchlab/kjwt/processor/JwsVerifier { + public static final field Companion Lco/touchlab/kjwt/processor/JwsProcessor$Companion; +} + +public final class co/touchlab/kjwt/processor/JwsProcessor$Companion { + public final fun combining (Lco/touchlab/kjwt/processor/JwsSigner;Lco/touchlab/kjwt/processor/JwsVerifier;)Lco/touchlab/kjwt/processor/JwsProcessor; +} + +public abstract interface class co/touchlab/kjwt/processor/JwsSigner : co/touchlab/kjwt/processor/BaseJwsProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/JwsSigner$Companion; + public abstract fun sign ([BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/processor/JwsSigner$Companion { +} + +public abstract interface class co/touchlab/kjwt/processor/JwsVerifier : co/touchlab/kjwt/processor/BaseJwsProcessor { + public static final field Companion Lco/touchlab/kjwt/processor/JwsVerifier$Companion; + public abstract fun verify ([B[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/processor/JwsVerifier$Companion { +} + +public final class co/touchlab/kjwt/serializers/AudienceDeserializer : kotlinx/serialization/DeserializationStrategy { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/AudienceDeserializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/util/Set; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; +} + +public final class co/touchlab/kjwt/serializers/EncryptionAlgorithmSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/EncryptionAlgorithmSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/InstantEpochSecondsSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/InstantEpochSecondsSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lkotlin/time/Instant; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlin/time/Instant;)V +} + +public final class co/touchlab/kjwt/serializers/JwaSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwaSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/algorithm/Jwa; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/algorithm/Jwa;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkEcSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkEcSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Ec;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkEcThumbprintSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkEcThumbprintSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Ec$ECThumbprint;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkOctSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkOctSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Oct;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkOctThumbprintSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkOctThumbprintSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Oct$OctThumbprint;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkOkpSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkOkpSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Okp;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkOkpThumbprintSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkOkpThumbprintSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Okp$OkpThumbprint;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkRsaSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkRsaSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkRsaThumbprintSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkRsaThumbprintSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa$RSAThumbprint;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwkThumbprintSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwkThumbprintSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwtHeaderSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwtHeaderSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/JwtHeader; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/JwtHeader;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/JwtPayloadSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/JwtPayloadSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/JwtPayload; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/JwtPayload;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class co/touchlab/kjwt/serializers/SigningAlgorithmSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Lco/touchlab/kjwt/serializers/SigningAlgorithmSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + diff --git a/core/api/kjwt-core.klib.api b/core/api/kjwt-core.klib.api new file mode 100644 index 00000000..efc8590c --- /dev/null +++ b/core/api/kjwt-core.klib.api @@ -0,0 +1,1203 @@ +// Klib ABI Dump +// Targets: [androidNativeArm32, androidNativeArm64, androidNativeX64, androidNativeX86, iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class co.touchlab.kjwt.annotations/DelicateKJWTApi : kotlin/Annotation { // co.touchlab.kjwt.annotations/DelicateKJWTApi|null[0] + constructor () // co.touchlab.kjwt.annotations/DelicateKJWTApi.|(){}[0] +} + +open annotation class co.touchlab.kjwt.annotations/ExperimentalKJWTApi : kotlin/Annotation { // co.touchlab.kjwt.annotations/ExperimentalKJWTApi|null[0] + constructor () // co.touchlab.kjwt.annotations/ExperimentalKJWTApi.|(){}[0] +} + +open annotation class co.touchlab.kjwt.annotations/InternalKJWTApi : kotlin/Annotation { // co.touchlab.kjwt.annotations/InternalKJWTApi|null[0] + constructor () // co.touchlab.kjwt.annotations/InternalKJWTApi.|(){}[0] +} + +final enum class co.touchlab.kjwt.model.algorithm/JwtCurve : kotlin/Enum { // co.touchlab.kjwt.model.algorithm/JwtCurve|null[0] + enum entry P256 // co.touchlab.kjwt.model.algorithm/JwtCurve.P256|null[0] + enum entry P384 // co.touchlab.kjwt.model.algorithm/JwtCurve.P384|null[0] + enum entry P521 // co.touchlab.kjwt.model.algorithm/JwtCurve.P521|null[0] + + final val entries // co.touchlab.kjwt.model.algorithm/JwtCurve.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // co.touchlab.kjwt.model.algorithm/JwtCurve.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): co.touchlab.kjwt.model.algorithm/JwtCurve // co.touchlab.kjwt.model.algorithm/JwtCurve.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // co.touchlab.kjwt.model.algorithm/JwtCurve.values|values#static(){}[0] +} + +final enum class co.touchlab.kjwt.model.algorithm/JwtDigest : kotlin/Enum { // co.touchlab.kjwt.model.algorithm/JwtDigest|null[0] + enum entry SHA1 // co.touchlab.kjwt.model.algorithm/JwtDigest.SHA1|null[0] + enum entry SHA256 // co.touchlab.kjwt.model.algorithm/JwtDigest.SHA256|null[0] + enum entry SHA384 // co.touchlab.kjwt.model.algorithm/JwtDigest.SHA384|null[0] + enum entry SHA512 // co.touchlab.kjwt.model.algorithm/JwtDigest.SHA512|null[0] + + final val entries // co.touchlab.kjwt.model.algorithm/JwtDigest.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // co.touchlab.kjwt.model.algorithm/JwtDigest.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/JwtDigest.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // co.touchlab.kjwt.model.algorithm/JwtDigest.values|values#static(){}[0] +} + +final enum class co.touchlab.kjwt.model.algorithm/JwtEdCurve : kotlin/Enum { // co.touchlab.kjwt.model.algorithm/JwtEdCurve|null[0] + enum entry Ed25519 // co.touchlab.kjwt.model.algorithm/JwtEdCurve.Ed25519|null[0] + enum entry Ed448 // co.touchlab.kjwt.model.algorithm/JwtEdCurve.Ed448|null[0] + + final val entries // co.touchlab.kjwt.model.algorithm/JwtEdCurve.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // co.touchlab.kjwt.model.algorithm/JwtEdCurve.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): co.touchlab.kjwt.model.algorithm/JwtEdCurve // co.touchlab.kjwt.model.algorithm/JwtEdCurve.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // co.touchlab.kjwt.model.algorithm/JwtEdCurve.values|values#static(){}[0] +} + +abstract interface co.touchlab.kjwt.model.registry/JwtProcessorRegistry { // co.touchlab.kjwt.model.registry/JwtProcessorRegistry|null[0] + abstract fun delegateTo(co.touchlab.kjwt.model.registry/JwtProcessorRegistry) // co.touchlab.kjwt.model.registry/JwtProcessorRegistry.delegateTo|delegateTo(co.touchlab.kjwt.model.registry.JwtProcessorRegistry){}[0] + abstract fun findBestJweProcessor(co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm, kotlin/String?): co.touchlab.kjwt.processor/BaseJweProcessor? // co.touchlab.kjwt.model.registry/JwtProcessorRegistry.findBestJweProcessor|findBestJweProcessor(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm;kotlin.String?){}[0] + abstract fun findBestJwsProcessor(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String?): co.touchlab.kjwt.processor/BaseJwsProcessor? // co.touchlab.kjwt.model.registry/JwtProcessorRegistry.findBestJwsProcessor|findBestJwsProcessor(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?){}[0] +} + +abstract interface co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry : co.touchlab.kjwt.model.registry/JwtProcessorRegistry { // co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry|null[0] + abstract fun registerJweProcessor(co.touchlab.kjwt.processor/BaseJweProcessor, kotlin/String? = ...) // co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry.registerJweProcessor|registerJweProcessor(co.touchlab.kjwt.processor.BaseJweProcessor;kotlin.String?){}[0] + abstract fun registerJwsProcessor(co.touchlab.kjwt.processor/BaseJwsProcessor, kotlin/String? = ...) // co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry.registerJwsProcessor|registerJwsProcessor(co.touchlab.kjwt.processor.BaseJwsProcessor;kotlin.String?){}[0] +} + +abstract interface co.touchlab.kjwt.processor/BaseJweProcessor { // co.touchlab.kjwt.processor/BaseJweProcessor|null[0] + abstract val algorithm // co.touchlab.kjwt.processor/BaseJweProcessor.algorithm|{}algorithm[0] + abstract fun (): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.processor/BaseJweProcessor.algorithm.|(){}[0] + abstract val keyId // co.touchlab.kjwt.processor/BaseJweProcessor.keyId|{}keyId[0] + abstract fun (): kotlin/String? // co.touchlab.kjwt.processor/BaseJweProcessor.keyId.|(){}[0] + + final object Companion // co.touchlab.kjwt.processor/BaseJweProcessor.Companion|null[0] +} + +abstract interface co.touchlab.kjwt.processor/BaseJwsProcessor { // co.touchlab.kjwt.processor/BaseJwsProcessor|null[0] + abstract val algorithm // co.touchlab.kjwt.processor/BaseJwsProcessor.algorithm|{}algorithm[0] + abstract fun (): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.processor/BaseJwsProcessor.algorithm.|(){}[0] + abstract val keyId // co.touchlab.kjwt.processor/BaseJwsProcessor.keyId|{}keyId[0] + abstract fun (): kotlin/String? // co.touchlab.kjwt.processor/BaseJwsProcessor.keyId.|(){}[0] + + final object Companion // co.touchlab.kjwt.processor/BaseJwsProcessor.Companion|null[0] +} + +abstract interface co.touchlab.kjwt.processor/JweDecryptor : co.touchlab.kjwt.processor/BaseJweProcessor { // co.touchlab.kjwt.processor/JweDecryptor|null[0] + abstract suspend fun decrypt(kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): kotlin/ByteArray // co.touchlab.kjwt.processor/JweDecryptor.decrypt|decrypt(kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + + final object Companion // co.touchlab.kjwt.processor/JweDecryptor.Companion|null[0] +} + +abstract interface co.touchlab.kjwt.processor/JweEncryptor : co.touchlab.kjwt.processor/BaseJweProcessor { // co.touchlab.kjwt.processor/JweEncryptor|null[0] + abstract suspend fun encrypt(kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): co.touchlab.kjwt.model.algorithm/JweEncryptResult // co.touchlab.kjwt.processor/JweEncryptor.encrypt|encrypt(kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + + final object Companion // co.touchlab.kjwt.processor/JweEncryptor.Companion|null[0] +} + +abstract interface co.touchlab.kjwt.processor/JweProcessor : co.touchlab.kjwt.processor/BaseJweProcessor, co.touchlab.kjwt.processor/JweDecryptor, co.touchlab.kjwt.processor/JweEncryptor { // co.touchlab.kjwt.processor/JweProcessor|null[0] + final object Companion { // co.touchlab.kjwt.processor/JweProcessor.Companion|null[0] + final fun combining(co.touchlab.kjwt.processor/JweEncryptor, co.touchlab.kjwt.processor/JweDecryptor): co.touchlab.kjwt.processor/JweProcessor // co.touchlab.kjwt.processor/JweProcessor.Companion.combining|combining(co.touchlab.kjwt.processor.JweEncryptor;co.touchlab.kjwt.processor.JweDecryptor){}[0] + } +} + +abstract interface co.touchlab.kjwt.processor/JwsProcessor : co.touchlab.kjwt.processor/BaseJwsProcessor, co.touchlab.kjwt.processor/JwsSigner, co.touchlab.kjwt.processor/JwsVerifier { // co.touchlab.kjwt.processor/JwsProcessor|null[0] + final object Companion { // co.touchlab.kjwt.processor/JwsProcessor.Companion|null[0] + final fun combining(co.touchlab.kjwt.processor/JwsSigner, co.touchlab.kjwt.processor/JwsVerifier): co.touchlab.kjwt.processor/JwsProcessor // co.touchlab.kjwt.processor/JwsProcessor.Companion.combining|combining(co.touchlab.kjwt.processor.JwsSigner;co.touchlab.kjwt.processor.JwsVerifier){}[0] + } +} + +abstract interface co.touchlab.kjwt.processor/JwsSigner : co.touchlab.kjwt.processor/BaseJwsProcessor { // co.touchlab.kjwt.processor/JwsSigner|null[0] + abstract suspend fun sign(kotlin/ByteArray): kotlin/ByteArray // co.touchlab.kjwt.processor/JwsSigner.sign|sign(kotlin.ByteArray){}[0] + + final object Companion // co.touchlab.kjwt.processor/JwsSigner.Companion|null[0] +} + +abstract interface co.touchlab.kjwt.processor/JwsVerifier : co.touchlab.kjwt.processor/BaseJwsProcessor { // co.touchlab.kjwt.processor/JwsVerifier|null[0] + abstract suspend fun verify(kotlin/ByteArray, kotlin/ByteArray): kotlin/Boolean // co.touchlab.kjwt.processor/JwsVerifier.verify|verify(kotlin.ByteArray;kotlin.ByteArray){}[0] + + final object Companion // co.touchlab.kjwt.processor/JwsVerifier.Companion|null[0] +} + +sealed interface co.touchlab.kjwt.model.algorithm/Jwa { // co.touchlab.kjwt.model.algorithm/Jwa|null[0] + abstract val id // co.touchlab.kjwt.model.algorithm/Jwa.id|{}id[0] + abstract fun (): kotlin/String // co.touchlab.kjwt.model.algorithm/Jwa.id.|(){}[0] + + abstract interface UsesHashingAlgorithm { // co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm|null[0] + abstract val digest // co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm.digest|{}digest[0] + abstract fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm.digest.|(){}[0] + } + + final object Companion : kotlinx.serialization.internal/SerializerFactory { // co.touchlab.kjwt.model.algorithm/Jwa.Companion|null[0] + final fun fromId(kotlin/String): co.touchlab.kjwt.model.algorithm/Jwa // co.touchlab.kjwt.model.algorithm/Jwa.Companion.fromId|fromId(kotlin.String){}[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.algorithm/Jwa.Companion.serializer|serializer(){}[0] + final fun serializer(kotlin/Array>...): kotlinx.serialization/KSerializer<*> // co.touchlab.kjwt.model.algorithm/Jwa.Companion.serializer|serializer(kotlin.Array>...){}[0] + } +} + +final class co.touchlab.kjwt.builder/JwtBuilder { // co.touchlab.kjwt.builder/JwtBuilder|null[0] + constructor (kotlinx.serialization.json/Json) // co.touchlab.kjwt.builder/JwtBuilder.|(kotlinx.serialization.json.Json){}[0] + + final val headerBuilder // co.touchlab.kjwt.builder/JwtBuilder.headerBuilder|{}headerBuilder[0] + final fun (): co.touchlab.kjwt.model/JwtHeader.Builder // co.touchlab.kjwt.builder/JwtBuilder.headerBuilder.|(){}[0] + final val payloadBuilder // co.touchlab.kjwt.builder/JwtBuilder.payloadBuilder|{}payloadBuilder[0] + final fun (): co.touchlab.kjwt.model/JwtPayload.Builder // co.touchlab.kjwt.builder/JwtBuilder.payloadBuilder.|(){}[0] + + final fun <#A1: kotlin/Any?> claim(kotlin/String, kotlinx.serialization/SerializationStrategy<#A1>, #A1?): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.claim|claim(kotlin.String;kotlinx.serialization.SerializationStrategy<0:0>;0:0?){0§}[0] + final fun <#A1: kotlin/Any?> header(kotlin/String, kotlinx.serialization/SerializationStrategy<#A1>, #A1?): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(kotlin.String;kotlinx.serialization.SerializationStrategy<0:0>;0:0?){0§}[0] + final fun <#A1: kotlin/Any?> header(kotlinx.serialization/SerializationStrategy<#A1>, #A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(kotlinx.serialization.SerializationStrategy<0:0>;0:0){0§}[0] + final fun <#A1: kotlin/Any?> payload(kotlinx.serialization/SerializationStrategy<#A1>, #A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.payload|payload(kotlinx.serialization.SerializationStrategy<0:0>;0:0){0§}[0] + final fun audience(kotlin/Array...): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.audience|audience(kotlin.Array...){}[0] + final fun build(): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.builder/JwtBuilder.build|build(){}[0] + final fun claim(kotlin/String, kotlinx.serialization.json/JsonElement): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.claim|claim(kotlin.String;kotlinx.serialization.json.JsonElement){}[0] + final fun claims(kotlin/Function1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.claims|claims(kotlin.Function1){}[0] + final fun contentType(kotlin/String): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.contentType|contentType(kotlin.String){}[0] + final fun expiration(kotlin.time/Instant): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.expiration|expiration(kotlin.time.Instant){}[0] + final fun expiresIn(kotlin.time/Duration): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.expiresIn|expiresIn(kotlin.time.Duration){}[0] + final fun header(kotlin/Function1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(kotlin.Function1){}[0] + final fun header(kotlin/String, kotlinx.serialization.json/JsonElement): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(kotlin.String;kotlinx.serialization.json.JsonElement){}[0] + final fun id(kotlin/String): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.id|id(kotlin.String){}[0] + final fun issuedAt(kotlin.time/Instant): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.issuedAt|issuedAt(kotlin.time.Instant){}[0] + final fun issuedNow(): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.issuedNow|issuedNow(){}[0] + final fun issuer(kotlin/String): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.issuer|issuer(kotlin.String){}[0] + final fun notBefore(kotlin.time/Instant): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.notBefore|notBefore(kotlin.time.Instant){}[0] + final fun notBeforeNow(): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.notBeforeNow|notBeforeNow(){}[0] + final fun randomId(): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.randomId|randomId(){}[0] + final fun subject(kotlin/String): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.subject|subject(kotlin.String){}[0] + final fun type(kotlin/String): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.type|type(kotlin.String){}[0] + final inline fun <#A1: reified kotlin/Any?> claim(kotlin/String, #A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.claim|claim(kotlin.String;0:0){0§}[0] + final inline fun <#A1: reified kotlin/Any?> header(#A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(0:0){0§}[0] + final inline fun <#A1: reified kotlin/Any?> header(kotlin/String, #A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.header|header(kotlin.String;0:0){0§}[0] + final inline fun <#A1: reified kotlin/Any?> payload(#A1): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt.builder/JwtBuilder.payload|payload(0:0){0§}[0] + final suspend fun encryptWith(co.touchlab.kjwt.model.registry/JwtProcessorRegistry, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.builder/JwtBuilder.encryptWith|encryptWith(co.touchlab.kjwt.model.registry.JwtProcessorRegistry;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] + final suspend fun encryptWithJweProcessor(co.touchlab.kjwt.processor/JweEncryptor, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.builder/JwtBuilder.encryptWithJweProcessor|encryptWithJweProcessor(co.touchlab.kjwt.processor.JweEncryptor;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] + final suspend fun signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, co.touchlab.kjwt.model.registry/JwtProcessorRegistry, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.builder/JwtBuilder.signWith|signWith(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;co.touchlab.kjwt.model.registry.JwtProcessorRegistry;kotlin.String?){}[0] + final suspend fun signWith(co.touchlab.kjwt.processor/JwsSigner, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.builder/JwtBuilder.signWith|signWith(co.touchlab.kjwt.processor.JwsSigner;kotlin.String?){}[0] +} + +final class co.touchlab.kjwt.exception/ExpiredJwtException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/ExpiredJwtException|null[0] + constructor (co.touchlab.kjwt.model/JwtHeader, co.touchlab.kjwt.model/JwtPayload, kotlin/String) // co.touchlab.kjwt.exception/ExpiredJwtException.|(co.touchlab.kjwt.model.JwtHeader;co.touchlab.kjwt.model.JwtPayload;kotlin.String){}[0] + + final val claims // co.touchlab.kjwt.exception/ExpiredJwtException.claims|{}claims[0] + final fun (): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.exception/ExpiredJwtException.claims.|(){}[0] + final val header // co.touchlab.kjwt.exception/ExpiredJwtException.header|{}header[0] + final fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.exception/ExpiredJwtException.header.|(){}[0] +} + +final class co.touchlab.kjwt.exception/IncorrectClaimException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/IncorrectClaimException|null[0] + constructor (kotlin/String, kotlin/Any?, kotlin/Any?) // co.touchlab.kjwt.exception/IncorrectClaimException.|(kotlin.String;kotlin.Any?;kotlin.Any?){}[0] + + final val actual // co.touchlab.kjwt.exception/IncorrectClaimException.actual|{}actual[0] + final fun (): kotlin/Any? // co.touchlab.kjwt.exception/IncorrectClaimException.actual.|(){}[0] + final val claimName // co.touchlab.kjwt.exception/IncorrectClaimException.claimName|{}claimName[0] + final fun (): kotlin/String // co.touchlab.kjwt.exception/IncorrectClaimException.claimName.|(){}[0] + final val expected // co.touchlab.kjwt.exception/IncorrectClaimException.expected|{}expected[0] + final fun (): kotlin/Any? // co.touchlab.kjwt.exception/IncorrectClaimException.expected.|(){}[0] +} + +final class co.touchlab.kjwt.exception/MalformedJwkException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/MalformedJwkException|null[0] + constructor (kotlin/String, kotlin/Throwable? = ...) // co.touchlab.kjwt.exception/MalformedJwkException.|(kotlin.String;kotlin.Throwable?){}[0] +} + +final class co.touchlab.kjwt.exception/MalformedJwtException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/MalformedJwtException|null[0] + constructor (kotlin/String, kotlin/Throwable? = ...) // co.touchlab.kjwt.exception/MalformedJwtException.|(kotlin.String;kotlin.Throwable?){}[0] +} + +final class co.touchlab.kjwt.exception/MissingClaimException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/MissingClaimException|null[0] + constructor (kotlin/String) // co.touchlab.kjwt.exception/MissingClaimException.|(kotlin.String){}[0] + + final val claimName // co.touchlab.kjwt.exception/MissingClaimException.claimName|{}claimName[0] + final fun (): kotlin/String // co.touchlab.kjwt.exception/MissingClaimException.claimName.|(){}[0] +} + +final class co.touchlab.kjwt.exception/MissingHeaderException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/MissingHeaderException|null[0] + constructor (kotlin/String) // co.touchlab.kjwt.exception/MissingHeaderException.|(kotlin.String){}[0] + + final val headerName // co.touchlab.kjwt.exception/MissingHeaderException.headerName|{}headerName[0] + final fun (): kotlin/String // co.touchlab.kjwt.exception/MissingHeaderException.headerName.|(){}[0] +} + +final class co.touchlab.kjwt.exception/PrematureJwtException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/PrematureJwtException|null[0] + constructor (co.touchlab.kjwt.model/JwtHeader, co.touchlab.kjwt.model/JwtPayload, kotlin/String) // co.touchlab.kjwt.exception/PrematureJwtException.|(co.touchlab.kjwt.model.JwtHeader;co.touchlab.kjwt.model.JwtPayload;kotlin.String){}[0] + + final val claims // co.touchlab.kjwt.exception/PrematureJwtException.claims|{}claims[0] + final fun (): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.exception/PrematureJwtException.claims.|(){}[0] + final val header // co.touchlab.kjwt.exception/PrematureJwtException.header|{}header[0] + final fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.exception/PrematureJwtException.header.|(){}[0] +} + +final class co.touchlab.kjwt.exception/SignatureException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/SignatureException|null[0] + constructor (kotlin/String, kotlin/Throwable? = ...) // co.touchlab.kjwt.exception/SignatureException.|(kotlin.String;kotlin.Throwable?){}[0] +} + +final class co.touchlab.kjwt.exception/UnsupportedJwtException : co.touchlab.kjwt.exception/JwtException { // co.touchlab.kjwt.exception/UnsupportedJwtException|null[0] + constructor (kotlin/String, kotlin/Throwable? = ...) // co.touchlab.kjwt.exception/UnsupportedJwtException.|(kotlin.String;kotlin.Throwable?){}[0] +} + +final class co.touchlab.kjwt.model.algorithm/JweEncryptResult { // co.touchlab.kjwt.model.algorithm/JweEncryptResult|null[0] + constructor (kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray) // co.touchlab.kjwt.model.algorithm/JweEncryptResult.|(kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray){}[0] + + final val ciphertext // co.touchlab.kjwt.model.algorithm/JweEncryptResult.ciphertext|{}ciphertext[0] + final fun (): kotlin/ByteArray // co.touchlab.kjwt.model.algorithm/JweEncryptResult.ciphertext.|(){}[0] + final val encryptedKey // co.touchlab.kjwt.model.algorithm/JweEncryptResult.encryptedKey|{}encryptedKey[0] + final fun (): kotlin/ByteArray // co.touchlab.kjwt.model.algorithm/JweEncryptResult.encryptedKey.|(){}[0] + final val iv // co.touchlab.kjwt.model.algorithm/JweEncryptResult.iv|{}iv[0] + final fun (): kotlin/ByteArray // co.touchlab.kjwt.model.algorithm/JweEncryptResult.iv.|(){}[0] + final val tag // co.touchlab.kjwt.model.algorithm/JweEncryptResult.tag|{}tag[0] + final fun (): kotlin/ByteArray // co.touchlab.kjwt.model.algorithm/JweEncryptResult.tag.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/JweEncryptResult.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/JweEncryptResult.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/JweEncryptResult.toString|toString(){}[0] +} + +final class co.touchlab.kjwt.model.jwk/JwkSet { // co.touchlab.kjwt.model.jwk/JwkSet|null[0] + constructor (kotlin.collections/List) // co.touchlab.kjwt.model.jwk/JwkSet.|(kotlin.collections.List){}[0] + + final val keys // co.touchlab.kjwt.model.jwk/JwkSet.keys|{}keys[0] + final fun (): kotlin.collections/List // co.touchlab.kjwt.model.jwk/JwkSet.keys.|(){}[0] + + final fun component1(): kotlin.collections/List // co.touchlab.kjwt.model.jwk/JwkSet.component1|component1(){}[0] + final fun copy(kotlin.collections/List = ...): co.touchlab.kjwt.model.jwk/JwkSet // co.touchlab.kjwt.model.jwk/JwkSet.copy|copy(kotlin.collections.List){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/JwkSet.equals|equals(kotlin.Any?){}[0] + final fun findById(kotlin/String): co.touchlab.kjwt.model.jwk/Jwk? // co.touchlab.kjwt.model.jwk/JwkSet.findById|findById(kotlin.String){}[0] + final fun findByUse(kotlin/String): kotlin.collections/List // co.touchlab.kjwt.model.jwk/JwkSet.findByUse|findByUse(kotlin.String){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/JwkSet.hashCode|hashCode(){}[0] + final fun publicKeys(): co.touchlab.kjwt.model.jwk/JwkSet // co.touchlab.kjwt.model.jwk/JwkSet.publicKeys|publicKeys(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/JwkSet.toString|toString(){}[0] + + final object $serializer : kotlinx.serialization.internal/GeneratedSerializer { // co.touchlab.kjwt.model.jwk/JwkSet.$serializer|null[0] + final val descriptor // co.touchlab.kjwt.model.jwk/JwkSet.$serializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.model.jwk/JwkSet.$serializer.descriptor.|(){}[0] + + final fun childSerializers(): kotlin/Array> // co.touchlab.kjwt.model.jwk/JwkSet.$serializer.childSerializers|childSerializers(){}[0] + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/JwkSet // co.touchlab.kjwt.model.jwk/JwkSet.$serializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/JwkSet) // co.touchlab.kjwt.model.jwk/JwkSet.$serializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.JwkSet){}[0] + } + + final object Companion { // co.touchlab.kjwt.model.jwk/JwkSet.Companion|null[0] + final val $childSerializers // co.touchlab.kjwt.model.jwk/JwkSet.Companion.$childSerializers|{}$childSerializers[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/JwkSet.Companion.serializer|serializer(){}[0] + } +} + +final class co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry : co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry { // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry|null[0] + constructor () // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.|(){}[0] + + final fun delegateTo(co.touchlab.kjwt.model.registry/JwtProcessorRegistry) // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.delegateTo|delegateTo(co.touchlab.kjwt.model.registry.JwtProcessorRegistry){}[0] + final fun findBestJweProcessor(co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm, kotlin/String?): co.touchlab.kjwt.processor/BaseJweProcessor? // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.findBestJweProcessor|findBestJweProcessor(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm;kotlin.String?){}[0] + final fun findBestJwsProcessor(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String?): co.touchlab.kjwt.processor/BaseJwsProcessor? // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.findBestJwsProcessor|findBestJwsProcessor(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?){}[0] + final fun registerJweProcessor(co.touchlab.kjwt.processor/BaseJweProcessor, kotlin/String?) // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.registerJweProcessor|registerJweProcessor(co.touchlab.kjwt.processor.BaseJweProcessor;kotlin.String?){}[0] + final fun registerJwsProcessor(co.touchlab.kjwt.processor/BaseJwsProcessor, kotlin/String?) // co.touchlab.kjwt.model.registry/DefaultJwtProcessorRegistry.registerJwsProcessor|registerJwsProcessor(co.touchlab.kjwt.processor.BaseJwsProcessor;kotlin.String?){}[0] +} + +final class co.touchlab.kjwt.model/JwtHeader { // co.touchlab.kjwt.model/JwtHeader|null[0] + final val algorithm // co.touchlab.kjwt.model/JwtHeader.algorithm|{}algorithm[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.algorithm.|(){}[0] + final val jsonData // co.touchlab.kjwt.model/JwtHeader.jsonData|{}jsonData[0] + final fun (): kotlinx.serialization.json/JsonObject // co.touchlab.kjwt.model/JwtHeader.jsonData.|(){}[0] + + final fun <#A1: kotlin/Any?> getHeader(kotlinx.serialization/DeserializationStrategy<#A1>, kotlin/String, kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtHeader.getHeader|getHeader(kotlinx.serialization.DeserializationStrategy<0:0>;kotlin.String;kotlinx.serialization.json.Json){0§}[0] + final fun <#A1: kotlin/Any?> getHeaderOrNull(kotlinx.serialization/DeserializationStrategy<#A1>, kotlin/String, kotlinx.serialization.json/Json = ...): #A1? // co.touchlab.kjwt.model/JwtHeader.getHeaderOrNull|getHeaderOrNull(kotlinx.serialization.DeserializationStrategy<0:0>;kotlin.String;kotlinx.serialization.json.Json){0§}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model/JwtHeader.equals|equals(kotlin.Any?){}[0] + final fun hasHeader(kotlin/String): kotlin/Boolean // co.touchlab.kjwt.model/JwtHeader.hasHeader|hasHeader(kotlin.String){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model/JwtHeader.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model/JwtHeader.toString|toString(){}[0] + + final class Builder { // co.touchlab.kjwt.model/JwtHeader.Builder|null[0] + constructor () // co.touchlab.kjwt.model/JwtHeader.Builder.|(){}[0] + + final var contentType // co.touchlab.kjwt.model/JwtHeader.Builder.contentType|{}contentType[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model/JwtHeader.Builder.contentType.|(){}[0] + final fun (kotlin/String?) // co.touchlab.kjwt.model/JwtHeader.Builder.contentType.|(kotlin.String?){}[0] + final var type // co.touchlab.kjwt.model/JwtHeader.Builder.type|{}type[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model/JwtHeader.Builder.type.|(){}[0] + final fun (kotlin/String?) // co.touchlab.kjwt.model/JwtHeader.Builder.type.|(kotlin.String?){}[0] + + final fun <#A2: kotlin/Any?> extra(kotlin/String, kotlinx.serialization/SerializationStrategy<#A2>, #A2?, kotlinx.serialization.json/Json = ...) // co.touchlab.kjwt.model/JwtHeader.Builder.extra|extra(kotlin.String;kotlinx.serialization.SerializationStrategy<0:0>;0:0?;kotlinx.serialization.json.Json){0§}[0] + final fun <#A2: kotlin/Any?> takeFrom(kotlinx.serialization/SerializationStrategy<#A2>, #A2, kotlinx.serialization.json/Json = ...) // co.touchlab.kjwt.model/JwtHeader.Builder.takeFrom|takeFrom(kotlinx.serialization.SerializationStrategy<0:0>;0:0;kotlinx.serialization.json.Json){0§}[0] + final fun extra(kotlin/String, kotlinx.serialization.json/JsonElement?) // co.touchlab.kjwt.model/JwtHeader.Builder.extra|extra(kotlin.String;kotlinx.serialization.json.JsonElement?){}[0] + final inline fun <#A2: reified kotlin/Any?> extra(kotlin/String, #A2) // co.touchlab.kjwt.model/JwtHeader.Builder.extra|extra(kotlin.String;0:0){0§}[0] + final inline fun <#A2: reified kotlin/Any?> takeFrom(#A2) // co.touchlab.kjwt.model/JwtHeader.Builder.takeFrom|takeFrom(0:0){0§}[0] + } + + final object Companion { // co.touchlab.kjwt.model/JwtHeader.Companion|null[0] + final const val ALG // co.touchlab.kjwt.model/JwtHeader.Companion.ALG|{}ALG[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.Companion.ALG.|(){}[0] + final const val CTY // co.touchlab.kjwt.model/JwtHeader.Companion.CTY|{}CTY[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.Companion.CTY.|(){}[0] + final const val ENC // co.touchlab.kjwt.model/JwtHeader.Companion.ENC|{}ENC[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.Companion.ENC.|(){}[0] + final const val KID // co.touchlab.kjwt.model/JwtHeader.Companion.KID|{}KID[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.Companion.KID.|(){}[0] + final const val TYP // co.touchlab.kjwt.model/JwtHeader.Companion.TYP|{}TYP[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtHeader.Companion.TYP.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model/JwtHeader.Companion.serializer|serializer(){}[0] + } +} + +final class co.touchlab.kjwt.model/JwtPayload { // co.touchlab.kjwt.model/JwtPayload|null[0] + final val jsonData // co.touchlab.kjwt.model/JwtPayload.jsonData|{}jsonData[0] + final fun (): kotlinx.serialization.json/JsonObject // co.touchlab.kjwt.model/JwtPayload.jsonData.|(){}[0] + + final fun <#A1: kotlin/Any?> getClaim(kotlinx.serialization/DeserializationStrategy<#A1>, kotlin/String, kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtPayload.getClaim|getClaim(kotlinx.serialization.DeserializationStrategy<0:0>;kotlin.String;kotlinx.serialization.json.Json){0§}[0] + final fun <#A1: kotlin/Any?> getClaimOrNull(kotlinx.serialization/DeserializationStrategy<#A1>, kotlin/String, kotlinx.serialization.json/Json = ...): #A1? // co.touchlab.kjwt.model/JwtPayload.getClaimOrNull|getClaimOrNull(kotlinx.serialization.DeserializationStrategy<0:0>;kotlin.String;kotlinx.serialization.json.Json){0§}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model/JwtPayload.equals|equals(kotlin.Any?){}[0] + final fun hasClaim(kotlin/String): kotlin/Boolean // co.touchlab.kjwt.model/JwtPayload.hasClaim|hasClaim(kotlin.String){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model/JwtPayload.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model/JwtPayload.toString|toString(){}[0] + + final class Builder { // co.touchlab.kjwt.model/JwtPayload.Builder|null[0] + constructor () // co.touchlab.kjwt.model/JwtPayload.Builder.|(){}[0] + + final val content // co.touchlab.kjwt.model/JwtPayload.Builder.content|{}content[0] + final fun (): kotlin.collections/MutableMap // co.touchlab.kjwt.model/JwtPayload.Builder.content.|(){}[0] + + final var audience // co.touchlab.kjwt.model/JwtPayload.Builder.audience|{}audience[0] + final fun (): kotlin.collections/Set? // co.touchlab.kjwt.model/JwtPayload.Builder.audience.|(){}[0] + final fun (kotlin.collections/Set?) // co.touchlab.kjwt.model/JwtPayload.Builder.audience.|(kotlin.collections.Set?){}[0] + final var expiration // co.touchlab.kjwt.model/JwtPayload.Builder.expiration|{}expiration[0] + final fun (): kotlin.time/Instant? // co.touchlab.kjwt.model/JwtPayload.Builder.expiration.|(){}[0] + final fun (kotlin.time/Instant?) // co.touchlab.kjwt.model/JwtPayload.Builder.expiration.|(kotlin.time.Instant?){}[0] + final var id // co.touchlab.kjwt.model/JwtPayload.Builder.id|{}id[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model/JwtPayload.Builder.id.|(){}[0] + final fun (kotlin/String?) // co.touchlab.kjwt.model/JwtPayload.Builder.id.|(kotlin.String?){}[0] + final var issuedAt // co.touchlab.kjwt.model/JwtPayload.Builder.issuedAt|{}issuedAt[0] + final fun (): kotlin.time/Instant? // co.touchlab.kjwt.model/JwtPayload.Builder.issuedAt.|(){}[0] + final fun (kotlin.time/Instant?) // co.touchlab.kjwt.model/JwtPayload.Builder.issuedAt.|(kotlin.time.Instant?){}[0] + final var issuer // co.touchlab.kjwt.model/JwtPayload.Builder.issuer|{}issuer[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model/JwtPayload.Builder.issuer.|(){}[0] + final fun (kotlin/String?) // co.touchlab.kjwt.model/JwtPayload.Builder.issuer.|(kotlin.String?){}[0] + final var notBefore // co.touchlab.kjwt.model/JwtPayload.Builder.notBefore|{}notBefore[0] + final fun (): kotlin.time/Instant? // co.touchlab.kjwt.model/JwtPayload.Builder.notBefore.|(){}[0] + final fun (kotlin.time/Instant?) // co.touchlab.kjwt.model/JwtPayload.Builder.notBefore.|(kotlin.time.Instant?){}[0] + final var subject // co.touchlab.kjwt.model/JwtPayload.Builder.subject|{}subject[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model/JwtPayload.Builder.subject.|(){}[0] + final fun (kotlin/String?) // co.touchlab.kjwt.model/JwtPayload.Builder.subject.|(kotlin.String?){}[0] + + final fun <#A2: kotlin/Any?> claim(kotlin/String, kotlinx.serialization/SerializationStrategy<#A2>, #A2?, kotlinx.serialization.json/Json = ...) // co.touchlab.kjwt.model/JwtPayload.Builder.claim|claim(kotlin.String;kotlinx.serialization.SerializationStrategy<0:0>;0:0?;kotlinx.serialization.json.Json){0§}[0] + final fun <#A2: kotlin/Any?> takeFrom(kotlinx.serialization/SerializationStrategy<#A2>, #A2, kotlinx.serialization.json/Json = ...) // co.touchlab.kjwt.model/JwtPayload.Builder.takeFrom|takeFrom(kotlinx.serialization.SerializationStrategy<0:0>;0:0;kotlinx.serialization.json.Json){0§}[0] + final fun claim(kotlin/String, kotlinx.serialization.json/JsonElement?) // co.touchlab.kjwt.model/JwtPayload.Builder.claim|claim(kotlin.String;kotlinx.serialization.json.JsonElement?){}[0] + final fun expiresIn(kotlin.time/Duration) // co.touchlab.kjwt.model/JwtPayload.Builder.expiresIn|expiresIn(kotlin.time.Duration){}[0] + final fun issuedNow() // co.touchlab.kjwt.model/JwtPayload.Builder.issuedNow|issuedNow(){}[0] + final fun notBeforeNow() // co.touchlab.kjwt.model/JwtPayload.Builder.notBeforeNow|notBeforeNow(){}[0] + final fun randomId() // co.touchlab.kjwt.model/JwtPayload.Builder.randomId|randomId(){}[0] + final inline fun <#A2: reified kotlin/Any?> claim(kotlin/String, #A2) // co.touchlab.kjwt.model/JwtPayload.Builder.claim|claim(kotlin.String;0:0){0§}[0] + final inline fun <#A2: reified kotlin/Any?> takeFrom(#A2) // co.touchlab.kjwt.model/JwtPayload.Builder.takeFrom|takeFrom(0:0){0§}[0] + } + + final object Companion { // co.touchlab.kjwt.model/JwtPayload.Companion|null[0] + final const val AUD // co.touchlab.kjwt.model/JwtPayload.Companion.AUD|{}AUD[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.AUD.|(){}[0] + final const val EXP // co.touchlab.kjwt.model/JwtPayload.Companion.EXP|{}EXP[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.EXP.|(){}[0] + final const val IAT // co.touchlab.kjwt.model/JwtPayload.Companion.IAT|{}IAT[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.IAT.|(){}[0] + final const val ISS // co.touchlab.kjwt.model/JwtPayload.Companion.ISS|{}ISS[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.ISS.|(){}[0] + final const val JTI // co.touchlab.kjwt.model/JwtPayload.Companion.JTI|{}JTI[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.JTI.|(){}[0] + final const val NBF // co.touchlab.kjwt.model/JwtPayload.Companion.NBF|{}NBF[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.NBF.|(){}[0] + final const val SUB // co.touchlab.kjwt.model/JwtPayload.Companion.SUB|{}SUB[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtPayload.Companion.SUB.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model/JwtPayload.Companion.serializer|serializer(){}[0] + } +} + +final class co.touchlab.kjwt.parser/JwtParser { // co.touchlab.kjwt.parser/JwtParser|null[0] + final suspend fun parse(kotlin/String): co.touchlab.kjwt.model/JwtInstance // co.touchlab.kjwt.parser/JwtParser.parse|parse(kotlin.String){}[0] + final suspend fun parseEncrypted(kotlin/String): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.parser/JwtParser.parseEncrypted|parseEncrypted(kotlin.String){}[0] + final suspend fun parseSigned(kotlin/String): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.parser/JwtParser.parseSigned|parseSigned(kotlin.String){}[0] +} + +final class co.touchlab.kjwt.parser/JwtParserBuilder { // co.touchlab.kjwt.parser/JwtParserBuilder|null[0] + constructor (kotlinx.serialization.json/Json) // co.touchlab.kjwt.parser/JwtParserBuilder.|(kotlinx.serialization.json.Json){}[0] + + final val validators // co.touchlab.kjwt.parser/JwtParserBuilder.validators|{}validators[0] + final fun (): kotlin.collections/MutableList> // co.touchlab.kjwt.parser/JwtParserBuilder.validators.|(){}[0] + + final fun allowUnsecured(kotlin/Boolean): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.allowUnsecured|allowUnsecured(kotlin.Boolean){}[0] + final fun build(): co.touchlab.kjwt.parser/JwtParser // co.touchlab.kjwt.parser/JwtParserBuilder.build|build(){}[0] + final fun clockSkew(kotlin/Long): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.clockSkew|clockSkew(kotlin.Long){}[0] + final fun decryptWith(co.touchlab.kjwt.processor/JweProcessor): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.decryptWith|decryptWith(co.touchlab.kjwt.processor.JweProcessor){}[0] + final fun noVerify(): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.noVerify|noVerify(){}[0] + final fun requireAudience(kotlin/String): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.requireAudience|requireAudience(kotlin.String){}[0] + final fun requireIssuer(kotlin/String, kotlin/Boolean = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.requireIssuer|requireIssuer(kotlin.String;kotlin.Boolean){}[0] + final fun requireSubject(kotlin/String): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.requireSubject|requireSubject(kotlin.String){}[0] + final fun useKeysFrom(co.touchlab.kjwt.model.registry/JwtProcessorRegistry): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.useKeysFrom|useKeysFrom(co.touchlab.kjwt.model.registry.JwtProcessorRegistry){}[0] + final fun verifyWith(co.touchlab.kjwt.processor/JwsProcessor): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.verifyWith|verifyWith(co.touchlab.kjwt.processor.JwsProcessor){}[0] + final inline fun <#A1: reified kotlin/Any?> requireClaim(kotlin/String, #A1): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.parser/JwtParserBuilder.requireClaim|requireClaim(kotlin.String;0:0){0§}[0] +} + +open class co.touchlab.kjwt.exception/JwtException : kotlin/Exception { // co.touchlab.kjwt.exception/JwtException|null[0] + constructor (kotlin/String, kotlin/Throwable? = ...) // co.touchlab.kjwt.exception/JwtException.|(kotlin.String;kotlin.Throwable?){}[0] +} + +sealed class co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm : co.touchlab.kjwt.model.algorithm/Jwa { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm|null[0] + open val id // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.id|{}id[0] + open fun (): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.id.|(){}[0] + + open fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.toString|toString(){}[0] + + sealed class OAEPBased : co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm, co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased|null[0] + open val digest // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased.digest|{}digest[0] + open fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased.digest.|(){}[0] + } + + final object Companion { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Companion|null[0] + final fun fromId(kotlin/String): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Companion.fromId|fromId(kotlin.String){}[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Companion.serializer|serializer(){}[0] + } + + final object Dir : co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir.toString|toString(){}[0] + } + + final object RsaOaep : co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep.toString|toString(){}[0] + } + + final object RsaOaep256 : co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased { // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.RsaOaep256.toString|toString(){}[0] + } +} + +sealed class co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm|null[0] + final val id // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.id|{}id[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.id.|(){}[0] + + open fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.toString|toString(){}[0] + + sealed class AesCBCBased : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesCBCBased|null[0] + + sealed class AesGCMBased : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesGCMBased|null[0] + + final object A128CbcHs256 : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesCBCBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128CbcHs256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128CbcHs256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128CbcHs256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128CbcHs256.toString|toString(){}[0] + } + + final object A128GCM : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesGCMBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128GCM|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128GCM.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128GCM.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A128GCM.toString|toString(){}[0] + } + + final object A192CbcHs384 : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesCBCBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192CbcHs384|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192CbcHs384.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192CbcHs384.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192CbcHs384.toString|toString(){}[0] + } + + final object A192GCM : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesGCMBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192GCM|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192GCM.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192GCM.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A192GCM.toString|toString(){}[0] + } + + final object A256CbcHs512 : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesCBCBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256CbcHs512|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256CbcHs512.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256CbcHs512.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256CbcHs512.toString|toString(){}[0] + } + + final object A256GCM : co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.AesGCMBased { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256GCM|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256GCM.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256GCM.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.A256GCM.toString|toString(){}[0] + } + + final object Companion { // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.Companion|null[0] + final fun fromId(kotlin/String): co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm // co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm.Companion.fromId|fromId(kotlin.String){}[0] + } +} + +sealed class co.touchlab.kjwt.model.algorithm/SigningAlgorithm : co.touchlab.kjwt.model.algorithm/Jwa { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm|null[0] + open val id // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.id|{}id[0] + open fun (): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.id.|(){}[0] + + open fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.toString|toString(){}[0] + + sealed class ECDSABased : co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm, co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased|null[0] + final val curve // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased.curve|{}curve[0] + final fun (): co.touchlab.kjwt.model.algorithm/JwtCurve // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased.curve.|(){}[0] + open val digest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased.digest|{}digest[0] + open fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased.digest.|(){}[0] + } + + sealed class EdDSABased : co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased|null[0] + final val curve // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased.curve|{}curve[0] + final fun (): co.touchlab.kjwt.model.algorithm/JwtEdCurve // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased.curve.|(){}[0] + } + + sealed class MACBased : co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm, co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased|null[0] + open val digest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased.digest|{}digest[0] + open fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased.digest.|(){}[0] + } + + sealed class PKCS1Based : co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm, co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based|null[0] + open val digest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based.digest|{}digest[0] + open fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based.digest.|(){}[0] + } + + sealed class PSSBased : co.touchlab.kjwt.model.algorithm/Jwa.UsesHashingAlgorithm, co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased|null[0] + open val digest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased.digest|{}digest[0] + open fun (): co.touchlab.kjwt.model.algorithm/JwtDigest // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased.digest.|(){}[0] + } + + final object Companion { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Companion|null[0] + final fun fromId(kotlin/String): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Companion.fromId|fromId(kotlin.String){}[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Companion.serializer|serializer(){}[0] + } + + final object ES256 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES256.toString|toString(){}[0] + } + + final object ES384 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES384|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES384.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES384.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES384.toString|toString(){}[0] + } + + final object ES512 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES512|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES512.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES512.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ES512.toString|toString(){}[0] + } + + final object Ed25519 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed25519|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed25519.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed25519.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed25519.toString|toString(){}[0] + } + + final object Ed448 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed448|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed448.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed448.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.Ed448.toString|toString(){}[0] + } + + final object HS256 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS256.toString|toString(){}[0] + } + + final object HS384 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS384|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS384.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS384.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS384.toString|toString(){}[0] + } + + final object HS512 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS512|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS512.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS512.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.HS512.toString|toString(){}[0] + } + + final object None : co.touchlab.kjwt.model.algorithm/SigningAlgorithm { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.toString|toString(){}[0] + + final object SimpleProcessor : co.touchlab.kjwt.processor/JwsProcessor { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor|null[0] + final val algorithm // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.algorithm|{}algorithm[0] + final fun (): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.algorithm.|(){}[0] + final val keyId // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.keyId|{}keyId[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.keyId.|(){}[0] + + final suspend fun sign(kotlin/ByteArray): kotlin/ByteArray // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.sign|sign(kotlin.ByteArray){}[0] + final suspend fun verify(kotlin/ByteArray, kotlin/ByteArray): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.None.SimpleProcessor.verify|verify(kotlin.ByteArray;kotlin.ByteArray){}[0] + } + } + + final object PS256 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS256.toString|toString(){}[0] + } + + final object PS384 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS384|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS384.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS384.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS384.toString|toString(){}[0] + } + + final object PS512 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS512|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS512.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS512.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PS512.toString|toString(){}[0] + } + + final object RS256 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS256|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS256.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS256.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS256.toString|toString(){}[0] + } + + final object RS384 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS384|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS384.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS384.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS384.toString|toString(){}[0] + } + + final object RS512 : co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based { // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS512|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS512.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS512.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.algorithm/SigningAlgorithm.RS512.toString|toString(){}[0] + } +} + +sealed class co.touchlab.kjwt.model.jwk/Jwk { // co.touchlab.kjwt.model.jwk/Jwk|null[0] + abstract val alg // co.touchlab.kjwt.model.jwk/Jwk.alg|{}alg[0] + abstract fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.alg.|(){}[0] + abstract val isPrivate // co.touchlab.kjwt.model.jwk/Jwk.isPrivate|{}isPrivate[0] + abstract fun (): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.isPrivate.|(){}[0] + abstract val keyOps // co.touchlab.kjwt.model.jwk/Jwk.keyOps|{}keyOps[0] + abstract fun (): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.keyOps.|(){}[0] + abstract val kid // co.touchlab.kjwt.model.jwk/Jwk.kid|{}kid[0] + abstract fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.kid.|(){}[0] + abstract val thumbprint // co.touchlab.kjwt.model.jwk/Jwk.thumbprint|{}thumbprint[0] + abstract fun (): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.model.jwk/Jwk.thumbprint.|(){}[0] + abstract val use // co.touchlab.kjwt.model.jwk/Jwk.use|{}use[0] + abstract fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.use.|(){}[0] + + final class Ec : co.touchlab.kjwt.model.jwk/Jwk { // co.touchlab.kjwt.model.jwk/Jwk.Ec|null[0] + constructor (kotlin/String, kotlin/String, kotlin/String, kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...) // co.touchlab.kjwt.model.jwk/Jwk.Ec.|(kotlin.String;kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + + final val alg // co.touchlab.kjwt.model.jwk/Jwk.Ec.alg|{}alg[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.alg.|(){}[0] + final val crv // co.touchlab.kjwt.model.jwk/Jwk.Ec.crv|{}crv[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.crv.|(){}[0] + final val d // co.touchlab.kjwt.model.jwk/Jwk.Ec.d|{}d[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.d.|(){}[0] + final val isPrivate // co.touchlab.kjwt.model.jwk/Jwk.Ec.isPrivate|{}isPrivate[0] + final fun (): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Ec.isPrivate.|(){}[0] + final val keyOps // co.touchlab.kjwt.model.jwk/Jwk.Ec.keyOps|{}keyOps[0] + final fun (): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Ec.keyOps.|(){}[0] + final val kid // co.touchlab.kjwt.model.jwk/Jwk.Ec.kid|{}kid[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.kid.|(){}[0] + final val thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Ec.thumbprint|{}thumbprint[0] + final fun (): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Ec.thumbprint.|(){}[0] + final val use // co.touchlab.kjwt.model.jwk/Jwk.Ec.use|{}use[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.use.|(){}[0] + final val x // co.touchlab.kjwt.model.jwk/Jwk.Ec.x|{}x[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.x.|(){}[0] + final val y // co.touchlab.kjwt.model.jwk/Jwk.Ec.y|{}y[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.y.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.component1|component1(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.component2|component2(){}[0] + final fun component3(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.component3|component3(){}[0] + final fun component4(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.component4|component4(){}[0] + final fun component5(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.component5|component5(){}[0] + final fun component6(): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Ec.component6|component6(){}[0] + final fun component7(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.component7|component7(){}[0] + final fun component8(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Ec.component8|component8(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ..., kotlin/String = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...): co.touchlab.kjwt.model.jwk/Jwk.Ec // co.touchlab.kjwt.model.jwk/Jwk.Ec.copy|copy(kotlin.String;kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Ec.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Ec.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.toString|toString(){}[0] + + final class ECThumbprint : co.touchlab.kjwt.model.jwk/Jwk.Thumbprint { // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint|null[0] + constructor (kotlin/String, kotlin/String, kotlin/String) // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.|(kotlin.String;kotlin.String;kotlin.String){}[0] + + final val crv // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.crv|{}crv[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.crv.|(){}[0] + final val x // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.x|{}x[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.x.|(){}[0] + final val y // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.y|{}y[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.y.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.component1|component1(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.component2|component2(){}[0] + final fun component3(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.component3|component3(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ..., kotlin/String = ...): co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.copy|copy(kotlin.String;kotlin.String;kotlin.String){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.toString|toString(){}[0] + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint.Companion.serializer|serializer(){}[0] + } + } + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Ec.Companion|null[0] + final const val KTY // co.touchlab.kjwt.model.jwk/Jwk.Ec.Companion.KTY|{}KTY[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Ec.Companion.KTY.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Ec.Companion.serializer|serializer(){}[0] + } + } + + final class Oct : co.touchlab.kjwt.model.jwk/Jwk { // co.touchlab.kjwt.model.jwk/Jwk.Oct|null[0] + constructor (kotlin/String, kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...) // co.touchlab.kjwt.model.jwk/Jwk.Oct.|(kotlin.String;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + + final val alg // co.touchlab.kjwt.model.jwk/Jwk.Oct.alg|{}alg[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.alg.|(){}[0] + final val isPrivate // co.touchlab.kjwt.model.jwk/Jwk.Oct.isPrivate|{}isPrivate[0] + final fun (): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Oct.isPrivate.|(){}[0] + final val k // co.touchlab.kjwt.model.jwk/Jwk.Oct.k|{}k[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.k.|(){}[0] + final val keyOps // co.touchlab.kjwt.model.jwk/Jwk.Oct.keyOps|{}keyOps[0] + final fun (): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Oct.keyOps.|(){}[0] + final val kid // co.touchlab.kjwt.model.jwk/Jwk.Oct.kid|{}kid[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.kid.|(){}[0] + final val thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Oct.thumbprint|{}thumbprint[0] + final fun (): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Oct.thumbprint.|(){}[0] + final val use // co.touchlab.kjwt.model.jwk/Jwk.Oct.use|{}use[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.use.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.component1|component1(){}[0] + final fun component2(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.component2|component2(){}[0] + final fun component3(): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Oct.component3|component3(){}[0] + final fun component4(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.component4|component4(){}[0] + final fun component5(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Oct.component5|component5(){}[0] + final fun copy(kotlin/String = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...): co.touchlab.kjwt.model.jwk/Jwk.Oct // co.touchlab.kjwt.model.jwk/Jwk.Oct.copy|copy(kotlin.String;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Oct.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Oct.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.toString|toString(){}[0] + + final class OctThumbprint : co.touchlab.kjwt.model.jwk/Jwk.Thumbprint { // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint|null[0] + constructor (kotlin/String) // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.|(kotlin.String){}[0] + + final val k // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.k|{}k[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.k.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.component1|component1(){}[0] + final fun copy(kotlin/String = ...): co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.copy|copy(kotlin.String){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.toString|toString(){}[0] + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint.Companion.serializer|serializer(){}[0] + } + } + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Oct.Companion|null[0] + final const val KTY // co.touchlab.kjwt.model.jwk/Jwk.Oct.Companion.KTY|{}KTY[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Oct.Companion.KTY.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Oct.Companion.serializer|serializer(){}[0] + } + } + + final class Okp : co.touchlab.kjwt.model.jwk/Jwk { // co.touchlab.kjwt.model.jwk/Jwk.Okp|null[0] + constructor (kotlin/String, kotlin/String, kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...) // co.touchlab.kjwt.model.jwk/Jwk.Okp.|(kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + + final val alg // co.touchlab.kjwt.model.jwk/Jwk.Okp.alg|{}alg[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.alg.|(){}[0] + final val crv // co.touchlab.kjwt.model.jwk/Jwk.Okp.crv|{}crv[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.crv.|(){}[0] + final val d // co.touchlab.kjwt.model.jwk/Jwk.Okp.d|{}d[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.d.|(){}[0] + final val isPrivate // co.touchlab.kjwt.model.jwk/Jwk.Okp.isPrivate|{}isPrivate[0] + final fun (): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Okp.isPrivate.|(){}[0] + final val keyOps // co.touchlab.kjwt.model.jwk/Jwk.Okp.keyOps|{}keyOps[0] + final fun (): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Okp.keyOps.|(){}[0] + final val kid // co.touchlab.kjwt.model.jwk/Jwk.Okp.kid|{}kid[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.kid.|(){}[0] + final val thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Okp.thumbprint|{}thumbprint[0] + final fun (): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Okp.thumbprint.|(){}[0] + final val use // co.touchlab.kjwt.model.jwk/Jwk.Okp.use|{}use[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.use.|(){}[0] + final val x // co.touchlab.kjwt.model.jwk/Jwk.Okp.x|{}x[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.x.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.component1|component1(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.component2|component2(){}[0] + final fun component3(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.component3|component3(){}[0] + final fun component4(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.component4|component4(){}[0] + final fun component5(): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Okp.component5|component5(){}[0] + final fun component6(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.component6|component6(){}[0] + final fun component7(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Okp.component7|component7(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...): co.touchlab.kjwt.model.jwk/Jwk.Okp // co.touchlab.kjwt.model.jwk/Jwk.Okp.copy|copy(kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Okp.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Okp.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.toString|toString(){}[0] + + final class OkpThumbprint : co.touchlab.kjwt.model.jwk/Jwk.Thumbprint { // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint|null[0] + constructor (kotlin/String, kotlin/String) // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.|(kotlin.String;kotlin.String){}[0] + + final val crv // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.crv|{}crv[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.crv.|(){}[0] + final val x // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.x|{}x[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.x.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.component1|component1(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.component2|component2(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ...): co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.copy|copy(kotlin.String;kotlin.String){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.toString|toString(){}[0] + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint.Companion.serializer|serializer(){}[0] + } + } + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Okp.Companion|null[0] + final const val KTY // co.touchlab.kjwt.model.jwk/Jwk.Okp.Companion.KTY|{}KTY[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Okp.Companion.KTY.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Okp.Companion.serializer|serializer(){}[0] + } + } + + final class Rsa : co.touchlab.kjwt.model.jwk/Jwk { // co.touchlab.kjwt.model.jwk/Jwk.Rsa|null[0] + constructor (kotlin/String, kotlin/String, kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...) // co.touchlab.kjwt.model.jwk/Jwk.Rsa.|(kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + + final val alg // co.touchlab.kjwt.model.jwk/Jwk.Rsa.alg|{}alg[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.alg.|(){}[0] + final val d // co.touchlab.kjwt.model.jwk/Jwk.Rsa.d|{}d[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.d.|(){}[0] + final val dp // co.touchlab.kjwt.model.jwk/Jwk.Rsa.dp|{}dp[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.dp.|(){}[0] + final val dq // co.touchlab.kjwt.model.jwk/Jwk.Rsa.dq|{}dq[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.dq.|(){}[0] + final val e // co.touchlab.kjwt.model.jwk/Jwk.Rsa.e|{}e[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.e.|(){}[0] + final val isPrivate // co.touchlab.kjwt.model.jwk/Jwk.Rsa.isPrivate|{}isPrivate[0] + final fun (): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Rsa.isPrivate.|(){}[0] + final val keyOps // co.touchlab.kjwt.model.jwk/Jwk.Rsa.keyOps|{}keyOps[0] + final fun (): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.keyOps.|(){}[0] + final val kid // co.touchlab.kjwt.model.jwk/Jwk.Rsa.kid|{}kid[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.kid.|(){}[0] + final val n // co.touchlab.kjwt.model.jwk/Jwk.Rsa.n|{}n[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.n.|(){}[0] + final val p // co.touchlab.kjwt.model.jwk/Jwk.Rsa.p|{}p[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.p.|(){}[0] + final val q // co.touchlab.kjwt.model.jwk/Jwk.Rsa.q|{}q[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.q.|(){}[0] + final val qi // co.touchlab.kjwt.model.jwk/Jwk.Rsa.qi|{}qi[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.qi.|(){}[0] + final val thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Rsa.thumbprint|{}thumbprint[0] + final fun (): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.model.jwk/Jwk.Rsa.thumbprint.|(){}[0] + final val use // co.touchlab.kjwt.model.jwk/Jwk.Rsa.use|{}use[0] + final fun (): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.use.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component1|component1(){}[0] + final fun component10(): kotlin.collections/List? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component10|component10(){}[0] + final fun component11(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component11|component11(){}[0] + final fun component12(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component12|component12(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component2|component2(){}[0] + final fun component3(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component3|component3(){}[0] + final fun component4(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component4|component4(){}[0] + final fun component5(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component5|component5(){}[0] + final fun component6(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component6|component6(){}[0] + final fun component7(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component7|component7(){}[0] + final fun component8(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component8|component8(){}[0] + final fun component9(): kotlin/String? // co.touchlab.kjwt.model.jwk/Jwk.Rsa.component9|component9(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin.collections/List? = ..., kotlin/String? = ..., kotlin/String? = ...): co.touchlab.kjwt.model.jwk/Jwk.Rsa // co.touchlab.kjwt.model.jwk/Jwk.Rsa.copy|copy(kotlin.String;kotlin.String;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.String?;kotlin.collections.List?;kotlin.String?;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Rsa.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Rsa.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.toString|toString(){}[0] + + final class RSAThumbprint : co.touchlab.kjwt.model.jwk/Jwk.Thumbprint { // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint|null[0] + constructor (kotlin/String, kotlin/String) // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.|(kotlin.String;kotlin.String){}[0] + + final val e // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.e|{}e[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.e.|(){}[0] + final val n // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.n|{}n[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.n.|(){}[0] + + final fun component1(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.component1|component1(){}[0] + final fun component2(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.component2|component2(){}[0] + final fun copy(kotlin/String = ..., kotlin/String = ...): co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.copy|copy(kotlin.String;kotlin.String){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.toString|toString(){}[0] + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint.Companion.serializer|serializer(){}[0] + } + } + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Rsa.Companion|null[0] + final const val KTY // co.touchlab.kjwt.model.jwk/Jwk.Rsa.Companion.KTY|{}KTY[0] + final fun (): kotlin/String // co.touchlab.kjwt.model.jwk/Jwk.Rsa.Companion.KTY.|(){}[0] + + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Rsa.Companion.serializer|serializer(){}[0] + } + } + + sealed class Thumbprint { // co.touchlab.kjwt.model.jwk/Jwk.Thumbprint|null[0] + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Thumbprint.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Thumbprint.Companion.serializer|serializer(){}[0] + } + } + + final object Companion { // co.touchlab.kjwt.model.jwk/Jwk.Companion|null[0] + final fun serializer(): kotlinx.serialization/KSerializer // co.touchlab.kjwt.model.jwk/Jwk.Companion.serializer|serializer(){}[0] + } +} + +sealed class co.touchlab.kjwt.model/JwtInstance { // co.touchlab.kjwt.model/JwtInstance|null[0] + abstract val header // co.touchlab.kjwt.model/JwtInstance.header|{}header[0] + abstract fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.model/JwtInstance.header.|(){}[0] + abstract val payload // co.touchlab.kjwt.model/JwtInstance.payload|{}payload[0] + abstract fun (): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.model/JwtInstance.payload.|(){}[0] + + abstract fun compact(): kotlin/String // co.touchlab.kjwt.model/JwtInstance.compact|compact(){}[0] + final fun <#A1: kotlin/Any?> getHeader(kotlinx.serialization/KSerializer<#A1>, kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtInstance.getHeader|getHeader(kotlinx.serialization.KSerializer<0:0>;kotlinx.serialization.json.Json){0§}[0] + final fun <#A1: kotlin/Any?> getPayload(kotlinx.serialization/KSerializer<#A1>, kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtInstance.getPayload|getPayload(kotlinx.serialization.KSerializer<0:0>;kotlinx.serialization.json.Json){0§}[0] + final inline fun <#A1: reified kotlin/Any?> getHeader(kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtInstance.getHeader|getHeader(kotlinx.serialization.json.Json){0§}[0] + final inline fun <#A1: reified kotlin/Any?> getPayload(kotlinx.serialization.json/Json = ...): #A1 // co.touchlab.kjwt.model/JwtInstance.getPayload|getPayload(kotlinx.serialization.json.Json){0§}[0] + open fun toString(): kotlin/String // co.touchlab.kjwt.model/JwtInstance.toString|toString(){}[0] + + final class Jwe : co.touchlab.kjwt.model/JwtInstance { // co.touchlab.kjwt.model/JwtInstance.Jwe|null[0] + final val aad // co.touchlab.kjwt.model/JwtInstance.Jwe.aad|{}aad[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.aad.|(){}[0] + final val cipherText // co.touchlab.kjwt.model/JwtInstance.Jwe.cipherText|{}cipherText[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.cipherText.|(){}[0] + final val encryptedKey // co.touchlab.kjwt.model/JwtInstance.Jwe.encryptedKey|{}encryptedKey[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.encryptedKey.|(){}[0] + final val header // co.touchlab.kjwt.model/JwtInstance.Jwe.header|{}header[0] + final fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.model/JwtInstance.Jwe.header.|(){}[0] + final val iv // co.touchlab.kjwt.model/JwtInstance.Jwe.iv|{}iv[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.iv.|(){}[0] + final val payload // co.touchlab.kjwt.model/JwtInstance.Jwe.payload|{}payload[0] + final fun (): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.model/JwtInstance.Jwe.payload.|(){}[0] + final val tag // co.touchlab.kjwt.model/JwtInstance.Jwe.tag|{}tag[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.tag.|(){}[0] + + final fun compact(): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jwe.compact|compact(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model/JwtInstance.Jwe.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model/JwtInstance.Jwe.hashCode|hashCode(){}[0] + } + + final class Jws : co.touchlab.kjwt.model/JwtInstance { // co.touchlab.kjwt.model/JwtInstance.Jws|null[0] + final val header // co.touchlab.kjwt.model/JwtInstance.Jws.header|{}header[0] + final fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.model/JwtInstance.Jws.header.|(){}[0] + final val payload // co.touchlab.kjwt.model/JwtInstance.Jws.payload|{}payload[0] + final fun (): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.model/JwtInstance.Jws.payload.|(){}[0] + final val signature // co.touchlab.kjwt.model/JwtInstance.Jws.signature|{}signature[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jws.signature.|(){}[0] + final val signatures // co.touchlab.kjwt.model/JwtInstance.Jws.signatures|{}signatures[0] + final fun (): kotlin.collections/List // co.touchlab.kjwt.model/JwtInstance.Jws.signatures.|(){}[0] + + final fun compact(): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jws.compact|compact(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.model/JwtInstance.Jws.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.model/JwtInstance.Jws.hashCode|hashCode(){}[0] + + final class Signature { // co.touchlab.kjwt.model/JwtInstance.Jws.Signature|null[0] + constructor (co.touchlab.kjwt.model/JwtHeader, kotlin/String) // co.touchlab.kjwt.model/JwtInstance.Jws.Signature.|(co.touchlab.kjwt.model.JwtHeader;kotlin.String){}[0] + + final val header // co.touchlab.kjwt.model/JwtInstance.Jws.Signature.header|{}header[0] + final fun (): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.model/JwtInstance.Jws.Signature.header.|(){}[0] + final val signature // co.touchlab.kjwt.model/JwtInstance.Jws.Signature.signature|{}signature[0] + final fun (): kotlin/String // co.touchlab.kjwt.model/JwtInstance.Jws.Signature.signature.|(){}[0] + } + } +} + +final object co.touchlab.kjwt.serializers/AudienceDeserializer : kotlinx.serialization/DeserializationStrategy> { // co.touchlab.kjwt.serializers/AudienceDeserializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/AudienceDeserializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/AudienceDeserializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): kotlin.collections/Set // co.touchlab.kjwt.serializers/AudienceDeserializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] +} + +final object co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm) // co.touchlab.kjwt.serializers/EncryptionAlgorithmSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm){}[0] +} + +final object co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): kotlin.time/Instant // co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, kotlin.time/Instant) // co.touchlab.kjwt.serializers/InstantEpochSecondsSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;kotlin.time.Instant){}[0] +} + +final object co.touchlab.kjwt.serializers/JwaSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwaSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwaSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwaSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.algorithm/Jwa // co.touchlab.kjwt.serializers/JwaSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.algorithm/Jwa) // co.touchlab.kjwt.serializers/JwaSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.algorithm.Jwa){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkEcSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkEcSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkEcSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkEcSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Ec // co.touchlab.kjwt.serializers/JwkEcSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Ec) // co.touchlab.kjwt.serializers/JwkEcSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Ec){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint // co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Ec.ECThumbprint) // co.touchlab.kjwt.serializers/JwkEcThumbprintSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Ec.ECThumbprint){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkOctSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkOctSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkOctSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkOctSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Oct // co.touchlab.kjwt.serializers/JwkOctSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Oct) // co.touchlab.kjwt.serializers/JwkOctSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Oct){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint // co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Oct.OctThumbprint) // co.touchlab.kjwt.serializers/JwkOctThumbprintSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Oct.OctThumbprint){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkOkpSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkOkpSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkOkpSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkOkpSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Okp // co.touchlab.kjwt.serializers/JwkOkpSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Okp) // co.touchlab.kjwt.serializers/JwkOkpSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Okp){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint // co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Okp.OkpThumbprint) // co.touchlab.kjwt.serializers/JwkOkpThumbprintSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Okp.OkpThumbprint){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkRsaSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkRsaSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkRsaSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkRsaSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Rsa // co.touchlab.kjwt.serializers/JwkRsaSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Rsa) // co.touchlab.kjwt.serializers/JwkRsaSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Rsa){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint // co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Rsa.RSAThumbprint) // co.touchlab.kjwt.serializers/JwkRsaThumbprintSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Rsa.RSAThumbprint){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk // co.touchlab.kjwt.serializers/JwkSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk) // co.touchlab.kjwt.serializers/JwkSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk){}[0] +} + +final object co.touchlab.kjwt.serializers/JwkThumbprintSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwkThumbprintSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwkThumbprintSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwkThumbprintSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.jwk/Jwk.Thumbprint // co.touchlab.kjwt.serializers/JwkThumbprintSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.jwk/Jwk.Thumbprint) // co.touchlab.kjwt.serializers/JwkThumbprintSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.jwk.Jwk.Thumbprint){}[0] +} + +final object co.touchlab.kjwt.serializers/JwtHeaderSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwtHeaderSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwtHeaderSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwtHeaderSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model/JwtHeader // co.touchlab.kjwt.serializers/JwtHeaderSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model/JwtHeader) // co.touchlab.kjwt.serializers/JwtHeaderSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.JwtHeader){}[0] +} + +final object co.touchlab.kjwt.serializers/JwtPayloadSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/JwtPayloadSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/JwtPayloadSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/JwtPayloadSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model/JwtPayload // co.touchlab.kjwt.serializers/JwtPayloadSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model/JwtPayload) // co.touchlab.kjwt.serializers/JwtPayloadSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.JwtPayload){}[0] +} + +final object co.touchlab.kjwt.serializers/SigningAlgorithmSerializer : kotlinx.serialization/KSerializer { // co.touchlab.kjwt.serializers/SigningAlgorithmSerializer|null[0] + final val descriptor // co.touchlab.kjwt.serializers/SigningAlgorithmSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // co.touchlab.kjwt.serializers/SigningAlgorithmSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.serializers/SigningAlgorithmSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, co.touchlab.kjwt.model.algorithm/SigningAlgorithm) // co.touchlab.kjwt.serializers/SigningAlgorithmSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;co.touchlab.kjwt.model.algorithm.SigningAlgorithm){}[0] +} + +final object co.touchlab.kjwt/Jwt { // co.touchlab.kjwt/Jwt|null[0] + final var defaultJsonParser // co.touchlab.kjwt/Jwt.defaultJsonParser|{}defaultJsonParser[0] + final fun (): kotlinx.serialization.json/Json // co.touchlab.kjwt/Jwt.defaultJsonParser.|(){}[0] + final fun (kotlinx.serialization.json/Json) // co.touchlab.kjwt/Jwt.defaultJsonParser.|(kotlinx.serialization.json.Json){}[0] + + final fun builder(kotlinx.serialization.json/Json = ...): co.touchlab.kjwt.builder/JwtBuilder // co.touchlab.kjwt/Jwt.builder|builder(kotlinx.serialization.json.Json){}[0] + final fun parser(kotlinx.serialization.json/Json = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt/Jwt.parser|parser(kotlinx.serialization.json.Json){}[0] +} + +final val co.touchlab.kjwt.ext/audience // co.touchlab.kjwt.ext/audience|@co.touchlab.kjwt.model.JwtPayload{}audience[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.collections/Set // co.touchlab.kjwt.ext/audience.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/audienceOrNull // co.touchlab.kjwt.ext/audienceOrNull|@co.touchlab.kjwt.model.JwtPayload{}audienceOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.collections/Set? // co.touchlab.kjwt.ext/audienceOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/contentType // co.touchlab.kjwt.ext/contentType|@co.touchlab.kjwt.model.JwtHeader{}contentType[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String // co.touchlab.kjwt.ext/contentType.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/contentTypeOrNull // co.touchlab.kjwt.ext/contentTypeOrNull|@co.touchlab.kjwt.model.JwtHeader{}contentTypeOrNull[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String? // co.touchlab.kjwt.ext/contentTypeOrNull.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/encryption // co.touchlab.kjwt.ext/encryption|@co.touchlab.kjwt.model.JwtHeader{}encryption[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String // co.touchlab.kjwt.ext/encryption.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/encryptionOrNull // co.touchlab.kjwt.ext/encryptionOrNull|@co.touchlab.kjwt.model.JwtHeader{}encryptionOrNull[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String? // co.touchlab.kjwt.ext/encryptionOrNull.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/expiration // co.touchlab.kjwt.ext/expiration|@co.touchlab.kjwt.model.JwtPayload{}expiration[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant // co.touchlab.kjwt.ext/expiration.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/expirationOrNull // co.touchlab.kjwt.ext/expirationOrNull|@co.touchlab.kjwt.model.JwtPayload{}expirationOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant? // co.touchlab.kjwt.ext/expirationOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/issuedAt // co.touchlab.kjwt.ext/issuedAt|@co.touchlab.kjwt.model.JwtPayload{}issuedAt[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant // co.touchlab.kjwt.ext/issuedAt.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/issuedAtOrNull // co.touchlab.kjwt.ext/issuedAtOrNull|@co.touchlab.kjwt.model.JwtPayload{}issuedAtOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant? // co.touchlab.kjwt.ext/issuedAtOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/issuer // co.touchlab.kjwt.ext/issuer|@co.touchlab.kjwt.model.JwtPayload{}issuer[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String // co.touchlab.kjwt.ext/issuer.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/issuerOrNull // co.touchlab.kjwt.ext/issuerOrNull|@co.touchlab.kjwt.model.JwtPayload{}issuerOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String? // co.touchlab.kjwt.ext/issuerOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/jwtId // co.touchlab.kjwt.ext/jwtId|@co.touchlab.kjwt.model.JwtPayload{}jwtId[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String // co.touchlab.kjwt.ext/jwtId.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/jwtIdOrNull // co.touchlab.kjwt.ext/jwtIdOrNull|@co.touchlab.kjwt.model.JwtPayload{}jwtIdOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String? // co.touchlab.kjwt.ext/jwtIdOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/keyId // co.touchlab.kjwt.ext/keyId|@co.touchlab.kjwt.model.JwtHeader{}keyId[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String // co.touchlab.kjwt.ext/keyId.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/keyIdOrNull // co.touchlab.kjwt.ext/keyIdOrNull|@co.touchlab.kjwt.model.JwtHeader{}keyIdOrNull[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String? // co.touchlab.kjwt.ext/keyIdOrNull.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/notBefore // co.touchlab.kjwt.ext/notBefore|@co.touchlab.kjwt.model.JwtPayload{}notBefore[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant // co.touchlab.kjwt.ext/notBefore.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/notBeforeOrNull // co.touchlab.kjwt.ext/notBeforeOrNull|@co.touchlab.kjwt.model.JwtPayload{}notBeforeOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin.time/Instant? // co.touchlab.kjwt.ext/notBeforeOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/subject // co.touchlab.kjwt.ext/subject|@co.touchlab.kjwt.model.JwtPayload{}subject[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String // co.touchlab.kjwt.ext/subject.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/subjectOrNull // co.touchlab.kjwt.ext/subjectOrNull|@co.touchlab.kjwt.model.JwtPayload{}subjectOrNull[0] + final fun (co.touchlab.kjwt.model/JwtPayload).(): kotlin/String? // co.touchlab.kjwt.ext/subjectOrNull.|@co.touchlab.kjwt.model.JwtPayload(){}[0] +final val co.touchlab.kjwt.ext/type // co.touchlab.kjwt.ext/type|@co.touchlab.kjwt.model.JwtHeader{}type[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String // co.touchlab.kjwt.ext/type.|@co.touchlab.kjwt.model.JwtHeader(){}[0] +final val co.touchlab.kjwt.ext/typeOrNull // co.touchlab.kjwt.ext/typeOrNull|@co.touchlab.kjwt.model.JwtHeader{}typeOrNull[0] + final fun (co.touchlab.kjwt.model/JwtHeader).(): kotlin/String? // co.touchlab.kjwt.ext/typeOrNull.|@co.touchlab.kjwt.model.JwtHeader(){}[0] + +final fun (co.touchlab.kjwt.processor/BaseJweProcessor).co.touchlab.kjwt.ext/mergeWith(co.touchlab.kjwt.processor/BaseJweProcessor?): co.touchlab.kjwt.processor/BaseJweProcessor // co.touchlab.kjwt.ext/mergeWith|mergeWith@co.touchlab.kjwt.processor.BaseJweProcessor(co.touchlab.kjwt.processor.BaseJweProcessor?){}[0] +final fun (co.touchlab.kjwt.processor/BaseJwsProcessor).co.touchlab.kjwt.ext/mergeWith(co.touchlab.kjwt.processor/BaseJwsProcessor?): co.touchlab.kjwt.processor/BaseJwsProcessor // co.touchlab.kjwt.ext/mergeWith|mergeWith@co.touchlab.kjwt.processor.BaseJwsProcessor(co.touchlab.kjwt.processor.BaseJwsProcessor?){}[0] +final inline fun <#A: reified kotlin/Any?> (co.touchlab.kjwt.model/JwtHeader).co.touchlab.kjwt.ext/getHeader(kotlin/String, kotlinx.serialization.json/Json = ...): #A // co.touchlab.kjwt.ext/getHeader|getHeader@co.touchlab.kjwt.model.JwtHeader(kotlin.String;kotlinx.serialization.json.Json){0§}[0] +final inline fun <#A: reified kotlin/Any?> (co.touchlab.kjwt.model/JwtHeader).co.touchlab.kjwt.ext/getHeaderOrNull(kotlin/String, kotlinx.serialization.json/Json = ...): #A? // co.touchlab.kjwt.ext/getHeaderOrNull|getHeaderOrNull@co.touchlab.kjwt.model.JwtHeader(kotlin.String;kotlinx.serialization.json.Json){0§}[0] +final inline fun <#A: reified kotlin/Any?> (co.touchlab.kjwt.model/JwtPayload).co.touchlab.kjwt.ext/getClaim(kotlin/String, kotlinx.serialization.json/Json = ...): #A // co.touchlab.kjwt.ext/getClaim|getClaim@co.touchlab.kjwt.model.JwtPayload(kotlin.String;kotlinx.serialization.json.Json){0§}[0] +final inline fun <#A: reified kotlin/Any?> (co.touchlab.kjwt.model/JwtPayload).co.touchlab.kjwt.ext/getClaimOrNull(kotlin/String, kotlinx.serialization.json/Json = ...): #A? // co.touchlab.kjwt.ext/getClaimOrNull|getClaimOrNull@co.touchlab.kjwt.model.JwtPayload(kotlin.String;kotlinx.serialization.json.Json){0§}[0] diff --git a/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.api b/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.api new file mode 100644 index 00000000..f9191d8f --- /dev/null +++ b/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.api @@ -0,0 +1,178 @@ +public final class co/touchlab/kjwt/cryptography/ext/EncryptionAlgorithmExtKt { + public static final fun key (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;[BLjava/lang/String;)Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair; + public static synthetic fun key$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;[BLjava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair; + public static final fun newKey-8GUSUMY (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;ILjava/lang/String;)Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair; + public static synthetic fun newKey-8GUSUMY$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;ILjava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair; + public static final fun newKey-V6ueFDk (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun newKey-V6ueFDk$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parseKeyPair (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parseKeyPair$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parsePrivateKey (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parsePrivateKey$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parsePublicKey (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parsePublicKey$default (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/ext/JwkExtKt { + public static final fun hashed (Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint;Lkotlinx/serialization/json/Json;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun hashed$default (Lco/touchlab/kjwt/model/jwk/Jwk$Thumbprint;Lkotlinx/serialization/json/Json;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun impliedDigest (Lco/touchlab/kjwt/model/jwk/Jwk;)Lco/touchlab/kjwt/model/algorithm/JwtDigest; + public static final fun toEcdsaPrivateKey (Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toEcdsaPrivateKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toEcdsaPublicKey (Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toEcdsaPublicKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toEdDsaPrivateKey (Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toEdDsaPrivateKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toEdDsaPublicKey (Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toEdDsaPublicKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toHmacKey (Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toHmacKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaOaepPrivateKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaOaepPrivateKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaOaepPublicKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaOaepPublicKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaPkcs1PrivateKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaPkcs1PrivateKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaPkcs1PublicKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaPkcs1PublicKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaPssPrivateKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaPssPrivateKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun toRsaPssPublicKey (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun toRsaPssPublicKey$default (Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ldev/whyoleg/cryptography/CryptographyAlgorithmId;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/ext/JwkParserExtKt { + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun decryptWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Okp;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/ext/JwtBuilderExtKt { + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionOnlyKey;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;Ldev/whyoleg/cryptography/algorithms/RSA$OAEP$PublicKey;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;Ljava/lang/String;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun encryptWith (Lco/touchlab/kjwt/builder/JwtBuilder;[BLco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionOnlyKey;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Ldev/whyoleg/cryptography/algorithms/RSA$OAEP$PublicKey;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Ljava/lang/String;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun encryptWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;[BLco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Lco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$SigningKeyPair;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$SigningOnlyKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ldev/whyoleg/cryptography/algorithms/ECDSA$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ldev/whyoleg/cryptography/algorithms/HMAC$Key;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ldev/whyoleg/cryptography/algorithms/RSA$PKCS1$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ldev/whyoleg/cryptography/algorithms/RSA$PSS$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun signWith (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$SigningKeyPair;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$SigningOnlyKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Lco/touchlab/kjwt/model/jwk/Jwk$Ec;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ldev/whyoleg/cryptography/algorithms/ECDSA$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Lco/touchlab/kjwt/model/jwk/Jwk$Oct;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ldev/whyoleg/cryptography/algorithms/HMAC$Key;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ldev/whyoleg/cryptography/algorithms/RSA$PKCS1$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Lco/touchlab/kjwt/model/jwk/Jwk$Rsa;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ldev/whyoleg/cryptography/algorithms/RSA$PSS$PrivateKey;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun signWith$default (Lco/touchlab/kjwt/builder/JwtBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/ext/JwtParserBuilderExtKt { + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$DecryptionOnlyKey;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Ldev/whyoleg/cryptography/algorithms/RSA$OAEP$PrivateKey;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Ljava/lang/String;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun decryptWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;[BLco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun decryptWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$OAEPBased;Ldev/whyoleg/cryptography/algorithms/RSA$OAEP$PrivateKey;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun decryptWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Ljava/lang/String;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun decryptWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;[BLco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm$Dir;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun registerEncryptionKey (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/EncryptionKey;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun registerSigningKey (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/SigningKey;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$SigningKeyPair;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/cryptography/SigningKey$VerifyOnlyKey;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ldev/whyoleg/cryptography/algorithms/ECDSA$PublicKey;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ldev/whyoleg/cryptography/algorithms/HMAC$Key;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ldev/whyoleg/cryptography/algorithms/RSA$PKCS1$PublicKey;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ldev/whyoleg/cryptography/algorithms/RSA$PSS$PublicKey;Ljava/lang/String;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static final fun verifyWith (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ldev/whyoleg/cryptography/algorithms/ECDSA$PublicKey;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ldev/whyoleg/cryptography/algorithms/HMAC$Key;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ldev/whyoleg/cryptography/algorithms/RSA$PKCS1$PublicKey;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ldev/whyoleg/cryptography/algorithms/RSA$PSS$PublicKey;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/parser/JwtParserBuilder; + public static synthetic fun verifyWith$default (Lco/touchlab/kjwt/parser/JwtParserBuilder;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/ext/JwtProcessorRegistryExtKt { + public static final fun findBestJweProcessorAndMerge (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Lco/touchlab/kjwt/cryptography/EncryptionKey;)Lco/touchlab/kjwt/processor/BaseJweProcessor; + public static final fun findBestJwsProcessorAndMerge (Lco/touchlab/kjwt/model/registry/JwtProcessorRegistry;Lco/touchlab/kjwt/cryptography/SigningKey;)Lco/touchlab/kjwt/processor/BaseJwsProcessor; + public static final fun registerEncryptionKey (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/cryptography/EncryptionKey;)V + public static final fun registerSigningKey (Lco/touchlab/kjwt/model/registry/MutableJwtProcessorRegistry;Lco/touchlab/kjwt/cryptography/SigningKey;)V +} + +public final class co/touchlab/kjwt/cryptography/ext/SigningAlgorithmsExtKt { + public static final fun newKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun newKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun newKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun newKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun newKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun newKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;Ljava/lang/String;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun newKey-V6ueFDk (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun newKey-V6ueFDk (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun newKey-V6ueFDk$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun newKey-V6ueFDk$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;Ljava/lang/String;ILdev/whyoleg/cryptography/bigint/BigInt;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parse (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parse$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$MACBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/HMAC$Key$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parseKeyPair (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parseKeyPair (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/EdDSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parseKeyPair (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parseKeyPair (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parseKeyPair$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parseKeyPair$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/EdDSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parseKeyPair$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parseKeyPair$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[B[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parsePrivateKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePrivateKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePrivateKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePrivateKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parsePrivateKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePrivateKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePrivateKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePrivateKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PrivateKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun parsePublicKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePublicKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePublicKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun parsePublicKey (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun parsePublicKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$ECDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EC$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePublicKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$EdDSABased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/EdDSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePublicKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PKCS1Based;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun parsePublicKey$default (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm$PSSBased;[BLjava/lang/String;Ldev/whyoleg/cryptography/algorithms/RSA$PublicKey$Format;Ldev/whyoleg/cryptography/CryptographyProvider;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + diff --git a/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.klib.api b/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.klib.api new file mode 100644 index 00000000..37a047aa --- /dev/null +++ b/cryptography-kotlin/ext/api/kjwt-cryptography-kotlin-processor-ext.klib.api @@ -0,0 +1,92 @@ +// Klib ABI Dump +// Targets: [androidNativeArm32, androidNativeArm64, androidNativeX64, androidNativeX86, iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir).co.touchlab.kjwt.cryptography.ext/key(kotlin/ByteArray, kotlin/String? = ...): co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair // co.touchlab.kjwt.cryptography.ext/key|key@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir(kotlin.ByteArray;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir).co.touchlab.kjwt.cryptography.ext/newKey(dev.whyoleg.cryptography/BinarySize = ..., kotlin/String? = ...): co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir(dev.whyoleg.cryptography.BinarySize;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.model.jwk/Jwk).co.touchlab.kjwt.cryptography.ext/impliedDigest(): co.touchlab.kjwt.model.algorithm/JwtDigest? // co.touchlab.kjwt.cryptography.ext/impliedDigest|impliedDigest@co.touchlab.kjwt.model.jwk.Jwk(){}[0] +final fun (co.touchlab.kjwt.model.registry/JwtProcessorRegistry).co.touchlab.kjwt.cryptography.ext/findBestJweProcessorAndMerge(co.touchlab.kjwt.cryptography/EncryptionKey): co.touchlab.kjwt.processor/BaseJweProcessor // co.touchlab.kjwt.cryptography.ext/findBestJweProcessorAndMerge|findBestJweProcessorAndMerge@co.touchlab.kjwt.model.registry.JwtProcessorRegistry(co.touchlab.kjwt.cryptography.EncryptionKey){}[0] +final fun (co.touchlab.kjwt.model.registry/JwtProcessorRegistry).co.touchlab.kjwt.cryptography.ext/findBestJwsProcessorAndMerge(co.touchlab.kjwt.cryptography/SigningKey): co.touchlab.kjwt.processor/BaseJwsProcessor // co.touchlab.kjwt.cryptography.ext/findBestJwsProcessorAndMerge|findBestJwsProcessorAndMerge@co.touchlab.kjwt.model.registry.JwtProcessorRegistry(co.touchlab.kjwt.cryptography.SigningKey){}[0] +final fun (co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry).co.touchlab.kjwt.cryptography.ext/registerEncryptionKey(co.touchlab.kjwt.cryptography/EncryptionKey) // co.touchlab.kjwt.cryptography.ext/registerEncryptionKey|registerEncryptionKey@co.touchlab.kjwt.model.registry.MutableJwtProcessorRegistry(co.touchlab.kjwt.cryptography.EncryptionKey){}[0] +final fun (co.touchlab.kjwt.model.registry/MutableJwtProcessorRegistry).co.touchlab.kjwt.cryptography.ext/registerSigningKey(co.touchlab.kjwt.cryptography/SigningKey) // co.touchlab.kjwt.cryptography.ext/registerSigningKey|registerSigningKey@co.touchlab.kjwt.model.registry.MutableJwtProcessorRegistry(co.touchlab.kjwt.cryptography.SigningKey){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.EncryptionKey.DecryptionOnlyKey){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.EncryptionKey.EncryptionKeyPair){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased, dev.whyoleg.cryptography.algorithms/RSA.OAEP.PrivateKey, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased;dev.whyoleg.cryptography.algorithms.RSA.OAEP.PrivateKey;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(kotlin/String, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(kotlin.String;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/registerEncryptionKey(co.touchlab.kjwt.cryptography/EncryptionKey): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/registerEncryptionKey|registerEncryptionKey@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.EncryptionKey){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/registerSigningKey(co.touchlab.kjwt.cryptography/SigningKey): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/registerSigningKey|registerSigningKey@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.SigningKey){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.SigningKey.SigningKeyPair){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.cryptography.SigningKey.VerifyOnlyKey){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, dev.whyoleg.cryptography.algorithms/ECDSA.PublicKey, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;dev.whyoleg.cryptography.algorithms.ECDSA.PublicKey;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, dev.whyoleg.cryptography.algorithms/HMAC.Key, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;dev.whyoleg.cryptography.algorithms.HMAC.Key;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, dev.whyoleg.cryptography.algorithms/RSA.PKCS1.PublicKey, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;dev.whyoleg.cryptography.algorithms.RSA.PKCS1.PublicKey;kotlin.String?){}[0] +final fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, dev.whyoleg.cryptography.algorithms/RSA.PSS.PublicKey, kotlin/String? = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;dev.whyoleg.cryptography.algorithms.RSA.PSS.PublicKey;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.cryptography.EncryptionKey.EncryptionKeyPair;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.cryptography.EncryptionKey.EncryptionOnlyKey;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(co.touchlab.kjwt.model.jwk/Jwk.Rsa, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.jwk.Jwk.Rsa;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(dev.whyoleg.cryptography.algorithms/RSA.OAEP.PublicKey, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(dev.whyoleg.cryptography.algorithms.RSA.OAEP.PublicKey;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/encryptWith(kotlin/String, co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.Dir, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jwe // co.touchlab.kjwt.cryptography.ext/encryptWith|encryptWith@co.touchlab.kjwt.builder.JwtBuilder(kotlin.String;co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.Dir;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.cryptography.SigningKey.SigningKeyPair;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.cryptography.SigningKey.SigningOnlyKey;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, co.touchlab.kjwt.model.jwk/Jwk.Ec, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;co.touchlab.kjwt.model.jwk.Jwk.Ec;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, dev.whyoleg.cryptography.algorithms/ECDSA.PrivateKey, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;dev.whyoleg.cryptography.algorithms.ECDSA.PrivateKey;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, kotlin/String, dev.whyoleg.cryptography.algorithms/EC.PrivateKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;kotlin.String;dev.whyoleg.cryptography.algorithms.EC.PrivateKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, co.touchlab.kjwt.model.jwk/Jwk.Oct, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;co.touchlab.kjwt.model.jwk.Jwk.Oct;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, dev.whyoleg.cryptography.algorithms/HMAC.Key, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;dev.whyoleg.cryptography.algorithms.HMAC.Key;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, kotlin/String, dev.whyoleg.cryptography.algorithms/HMAC.Key.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;kotlin.String;dev.whyoleg.cryptography.algorithms.HMAC.Key.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, co.touchlab.kjwt.model.jwk/Jwk.Rsa, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;co.touchlab.kjwt.model.jwk.Jwk.Rsa;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, dev.whyoleg.cryptography.algorithms/RSA.PKCS1.PrivateKey, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;dev.whyoleg.cryptography.algorithms.RSA.PKCS1.PrivateKey;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, kotlin/String, dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;kotlin.String;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, co.touchlab.kjwt.model.jwk/Jwk.Rsa, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;co.touchlab.kjwt.model.jwk.Jwk.Rsa;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, dev.whyoleg.cryptography.algorithms/RSA.PSS.PrivateKey, kotlin/String? = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;dev.whyoleg.cryptography.algorithms.RSA.PSS.PrivateKey;kotlin.String?){}[0] +final suspend fun (co.touchlab.kjwt.builder/JwtBuilder).co.touchlab.kjwt.cryptography.ext/signWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, kotlin/String, dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.model/JwtInstance.Jws // co.touchlab.kjwt.cryptography.ext/signWith|signWith@co.touchlab.kjwt.builder.JwtBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;kotlin.String;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/BinarySize = ..., dev.whyoleg.cryptography.bigint/BigInt = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased(kotlin.String?;dev.whyoleg.cryptography.BinarySize;dev.whyoleg.cryptography.bigint.BigInt;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased).co.touchlab.kjwt.cryptography.ext/parseKeyPair(kotlin/ByteArray, kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair // co.touchlab.kjwt.cryptography.ext/parseKeyPair|parseKeyPair@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased(kotlin.ByteArray;kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased).co.touchlab.kjwt.cryptography.ext/parsePrivateKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePrivateKey|parsePrivateKey@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased).co.touchlab.kjwt.cryptography.ext/parsePublicKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePublicKey|parsePublicKey@co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased(kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased).co.touchlab.kjwt.cryptography.ext/parseKeyPair(kotlin/ByteArray, kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EC.PublicKey.Format = ..., dev.whyoleg.cryptography.algorithms/EC.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/parseKeyPair|parseKeyPair@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased(kotlin.ByteArray;kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EC.PublicKey.Format;dev.whyoleg.cryptography.algorithms.EC.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased).co.touchlab.kjwt.cryptography.ext/parsePrivateKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EC.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePrivateKey|parsePrivateKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EC.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased).co.touchlab.kjwt.cryptography.ext/parsePublicKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EC.PublicKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePublicKey|parsePublicKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EC.PublicKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.EdDSABased(kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased).co.touchlab.kjwt.cryptography.ext/parseKeyPair(kotlin/ByteArray, kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EdDSA.PublicKey.Format = ..., dev.whyoleg.cryptography.algorithms/EdDSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/parseKeyPair|parseKeyPair@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.EdDSABased(kotlin.ByteArray;kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EdDSA.PublicKey.Format;dev.whyoleg.cryptography.algorithms.EdDSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased).co.touchlab.kjwt.cryptography.ext/parsePrivateKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EdDSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePrivateKey|parsePrivateKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.EdDSABased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EdDSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased).co.touchlab.kjwt.cryptography.ext/parsePublicKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/EdDSA.PublicKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePublicKey|parsePublicKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.EdDSABased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.EdDSA.PublicKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased(kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased).co.touchlab.kjwt.cryptography.ext/parse(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/HMAC.Key.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/parse|parse@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.HMAC.Key.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/BinarySize = ..., dev.whyoleg.cryptography.bigint/BigInt = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based(kotlin.String?;dev.whyoleg.cryptography.BinarySize;dev.whyoleg.cryptography.bigint.BigInt;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based).co.touchlab.kjwt.cryptography.ext/parseKeyPair(kotlin/ByteArray, kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/parseKeyPair|parseKeyPair@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based(kotlin.ByteArray;kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based).co.touchlab.kjwt.cryptography.ext/parsePrivateKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePrivateKey|parsePrivateKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based).co.touchlab.kjwt.cryptography.ext/parsePublicKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePublicKey|parsePublicKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased).co.touchlab.kjwt.cryptography.ext/newKey(kotlin/String? = ..., dev.whyoleg.cryptography/BinarySize = ..., dev.whyoleg.cryptography.bigint/BigInt = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/newKey|newKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased(kotlin.String?;dev.whyoleg.cryptography.BinarySize;dev.whyoleg.cryptography.bigint.BigInt;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased).co.touchlab.kjwt.cryptography.ext/parseKeyPair(kotlin/ByteArray, kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair // co.touchlab.kjwt.cryptography.ext/parseKeyPair|parseKeyPair@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased(kotlin.ByteArray;kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased).co.touchlab.kjwt.cryptography.ext/parsePrivateKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PrivateKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePrivateKey|parsePrivateKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PrivateKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased).co.touchlab.kjwt.cryptography.ext/parsePublicKey(kotlin/ByteArray, kotlin/String? = ..., dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey // co.touchlab.kjwt.cryptography.ext/parsePublicKey|parsePublicKey@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased(kotlin.ByteArray;kotlin.String?;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Ec).co.touchlab.kjwt.cryptography.ext/toEcdsaPrivateKey(dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/ECDSA.PrivateKey // co.touchlab.kjwt.cryptography.ext/toEcdsaPrivateKey|toEcdsaPrivateKey@co.touchlab.kjwt.model.jwk.Jwk.Ec(dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Ec).co.touchlab.kjwt.cryptography.ext/toEcdsaPublicKey(dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/ECDSA.PublicKey // co.touchlab.kjwt.cryptography.ext/toEcdsaPublicKey|toEcdsaPublicKey@co.touchlab.kjwt.model.jwk.Jwk.Ec(dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Oct).co.touchlab.kjwt.cryptography.ext/toHmacKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/HMAC.Key // co.touchlab.kjwt.cryptography.ext/toHmacKey|toHmacKey@co.touchlab.kjwt.model.jwk.Jwk.Oct(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Okp).co.touchlab.kjwt.cryptography.ext/toEdDsaPrivateKey(dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/EdDSA.PrivateKey // co.touchlab.kjwt.cryptography.ext/toEdDsaPrivateKey|toEdDsaPrivateKey@co.touchlab.kjwt.model.jwk.Jwk.Okp(dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Okp).co.touchlab.kjwt.cryptography.ext/toEdDsaPublicKey(dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/EdDSA.PublicKey // co.touchlab.kjwt.cryptography.ext/toEdDsaPublicKey|toEdDsaPublicKey@co.touchlab.kjwt.model.jwk.Jwk.Okp(dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaOaepPrivateKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.OAEP.PrivateKey // co.touchlab.kjwt.cryptography.ext/toRsaOaepPrivateKey|toRsaOaepPrivateKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaOaepPublicKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.OAEP.PublicKey // co.touchlab.kjwt.cryptography.ext/toRsaOaepPublicKey|toRsaOaepPublicKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaPkcs1PrivateKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.PKCS1.PrivateKey // co.touchlab.kjwt.cryptography.ext/toRsaPkcs1PrivateKey|toRsaPkcs1PrivateKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaPkcs1PublicKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.PKCS1.PublicKey // co.touchlab.kjwt.cryptography.ext/toRsaPkcs1PublicKey|toRsaPkcs1PublicKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaPssPrivateKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.PSS.PrivateKey // co.touchlab.kjwt.cryptography.ext/toRsaPssPrivateKey|toRsaPssPrivateKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Rsa).co.touchlab.kjwt.cryptography.ext/toRsaPssPublicKey(dev.whyoleg.cryptography/CryptographyAlgorithmId, dev.whyoleg.cryptography/CryptographyProvider = ...): dev.whyoleg.cryptography.algorithms/RSA.PSS.PublicKey // co.touchlab.kjwt.cryptography.ext/toRsaPssPublicKey|toRsaPssPublicKey@co.touchlab.kjwt.model.jwk.Jwk.Rsa(dev.whyoleg.cryptography.CryptographyAlgorithmId;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.model.jwk/Jwk.Thumbprint).co.touchlab.kjwt.cryptography.ext/hashed(kotlinx.serialization.json/Json = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): kotlin/String // co.touchlab.kjwt.cryptography.ext/hashed|hashed@co.touchlab.kjwt.model.jwk.Jwk.Thumbprint(kotlinx.serialization.json.Json;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/decryptWith(co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm.OAEPBased, co.touchlab.kjwt.model.jwk/Jwk.Rsa, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/decryptWith|decryptWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm.OAEPBased;co.touchlab.kjwt.model.jwk.Jwk.Rsa;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, co.touchlab.kjwt.model.jwk/Jwk.Ec, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;co.touchlab.kjwt.model.jwk.Jwk.Ec;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased, kotlin/String, dev.whyoleg.cryptography.algorithms/EC.PublicKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased;kotlin.String;dev.whyoleg.cryptography.algorithms.EC.PublicKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.EdDSABased, co.touchlab.kjwt.model.jwk/Jwk.Okp, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.EdDSABased;co.touchlab.kjwt.model.jwk.Jwk.Okp;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, co.touchlab.kjwt.model.jwk/Jwk.Oct, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;co.touchlab.kjwt.model.jwk.Jwk.Oct;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.MACBased, kotlin/String, dev.whyoleg.cryptography.algorithms/HMAC.Key.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.MACBased;kotlin.String;dev.whyoleg.cryptography.algorithms.HMAC.Key.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, co.touchlab.kjwt.model.jwk/Jwk.Rsa, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;co.touchlab.kjwt.model.jwk.Jwk.Rsa;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PKCS1Based, kotlin/String, dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PKCS1Based;kotlin.String;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, co.touchlab.kjwt.model.jwk/Jwk.Rsa, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;co.touchlab.kjwt.model.jwk.Jwk.Rsa;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] +final suspend fun (co.touchlab.kjwt.parser/JwtParserBuilder).co.touchlab.kjwt.cryptography.ext/verifyWith(co.touchlab.kjwt.model.algorithm/SigningAlgorithm.PSSBased, kotlin/String, dev.whyoleg.cryptography.algorithms/RSA.PublicKey.Format, kotlin/String? = ..., dev.whyoleg.cryptography/CryptographyProvider = ...): co.touchlab.kjwt.parser/JwtParserBuilder // co.touchlab.kjwt.cryptography.ext/verifyWith|verifyWith@co.touchlab.kjwt.parser.JwtParserBuilder(co.touchlab.kjwt.model.algorithm.SigningAlgorithm.PSSBased;kotlin.String;dev.whyoleg.cryptography.algorithms.RSA.PublicKey.Format;kotlin.String?;dev.whyoleg.cryptography.CryptographyProvider){}[0] diff --git a/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.api b/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.api new file mode 100644 index 00000000..9fde271c --- /dev/null +++ b/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.api @@ -0,0 +1,125 @@ +public final class co/touchlab/kjwt/cryptography/CryptographyExtensionsKt { + public static final fun toCryptographyKotlin (Lco/touchlab/kjwt/model/algorithm/JwtCurve;)Ljava/lang/String; + public static final fun toCryptographyKotlin (Lco/touchlab/kjwt/model/algorithm/JwtEdCurve;)Ldev/whyoleg/cryptography/algorithms/EdDSA$Curve; +} + +public abstract class co/touchlab/kjwt/cryptography/EncryptionKey : co/touchlab/kjwt/processor/BaseJweProcessor { + public fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public abstract fun getIdentifier ()Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public fun getKeyId ()Ljava/lang/String; + public abstract fun getPrivateKey ()Ljava/lang/Object; + public abstract fun getPublicKey ()Ljava/lang/Object; + public final fun mergeWith (Lco/touchlab/kjwt/cryptography/EncryptionKey;)Lco/touchlab/kjwt/cryptography/EncryptionKey; +} + +public final class co/touchlab/kjwt/cryptography/EncryptionKey$DecryptionOnlyKey : co/touchlab/kjwt/cryptography/EncryptionKey, co/touchlab/kjwt/processor/JweDecryptor { + public fun (Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier;Ljava/lang/Object;)V + public fun decrypt ([B[B[B[B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/EncryptionKey$EncryptionKeyPair : co/touchlab/kjwt/cryptography/EncryptionKey, co/touchlab/kjwt/processor/JweProcessor { + public fun (Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier;Ljava/lang/Object;Ljava/lang/Object;)V + public fun decrypt ([B[B[B[B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun encrypt ([B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/EncryptionKey$EncryptionOnlyKey : co/touchlab/kjwt/cryptography/EncryptionKey, co/touchlab/kjwt/processor/JweEncryptor { + public fun (Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier;Ljava/lang/Object;)V + public fun encrypt ([B[BLco/touchlab/kjwt/model/algorithm/EncryptionContentAlgorithm;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/EncryptionKey$Identifier { + public static final field Companion Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier$Companion; + public fun (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Ljava/lang/String;)V + public final fun component1 ()Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public static synthetic fun copy$default (Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier;Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/cryptography/EncryptionKey$Identifier; + public fun equals (Ljava/lang/Object;)Z + public final fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/EncryptionAlgorithm; + public final fun getKeyId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/EncryptionKey$Identifier$Companion { +} + +public abstract class co/touchlab/kjwt/cryptography/SigningKey : co/touchlab/kjwt/processor/BaseJwsProcessor { + public fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public abstract fun getIdentifier ()Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public fun getKeyId ()Ljava/lang/String; + public abstract fun getPrivateKey ()Ljava/lang/Object; + public abstract fun getPublicKey ()Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/SigningKey$Identifier { + public static final field Companion Lco/touchlab/kjwt/cryptography/SigningKey$Identifier$Companion; + public fun (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Ljava/lang/String;)V + public final fun component1 ()Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Ljava/lang/String;)Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public static synthetic fun copy$default (Lco/touchlab/kjwt/cryptography/SigningKey$Identifier;Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm;Ljava/lang/String;ILjava/lang/Object;)Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public fun equals (Ljava/lang/Object;)Z + public final fun getAlgorithm ()Lco/touchlab/kjwt/model/algorithm/SigningAlgorithm; + public final fun getKeyId ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/SigningKey$Identifier$Companion { + public final fun getNone ()Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; +} + +public final class co/touchlab/kjwt/cryptography/SigningKey$SigningKeyPair : co/touchlab/kjwt/cryptography/SigningKey, co/touchlab/kjwt/processor/JwsProcessor { + public fun (Lco/touchlab/kjwt/cryptography/SigningKey$Identifier;Ljava/lang/Object;Ljava/lang/Object;)V + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun sign ([BLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun toString ()Ljava/lang/String; + public fun verify ([B[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class co/touchlab/kjwt/cryptography/SigningKey$SigningOnlyKey : co/touchlab/kjwt/cryptography/SigningKey, co/touchlab/kjwt/processor/JwsSigner { + public fun (Lco/touchlab/kjwt/cryptography/SigningKey$Identifier;Ljava/lang/Object;)V + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun sign ([BLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun toString ()Ljava/lang/String; +} + +public final class co/touchlab/kjwt/cryptography/SigningKey$VerifyOnlyKey : co/touchlab/kjwt/cryptography/SigningKey, co/touchlab/kjwt/processor/JwsVerifier { + public fun (Lco/touchlab/kjwt/cryptography/SigningKey$Identifier;Ljava/lang/Object;)V + public fun equals (Ljava/lang/Object;)Z + public fun getIdentifier ()Lco/touchlab/kjwt/cryptography/SigningKey$Identifier; + public fun getPrivateKey ()Ljava/lang/Object; + public fun getPublicKey ()Ljava/lang/Object; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; + public fun verify ([B[BLkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + diff --git a/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.klib.api b/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.klib.api new file mode 100644 index 00000000..83e742f2 --- /dev/null +++ b/cryptography-kotlin/processor/api/kjwt-cryptography-kotlin-processor.klib.api @@ -0,0 +1,175 @@ +// Klib ABI Dump +// Targets: [androidNativeArm32, androidNativeArm64, androidNativeX64, androidNativeX86, iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +sealed class co.touchlab.kjwt.cryptography/EncryptionKey : co.touchlab.kjwt.processor/BaseJweProcessor { // co.touchlab.kjwt.cryptography/EncryptionKey|null[0] + abstract val identifier // co.touchlab.kjwt.cryptography/EncryptionKey.identifier|{}identifier[0] + abstract fun (): co.touchlab.kjwt.cryptography/EncryptionKey.Identifier // co.touchlab.kjwt.cryptography/EncryptionKey.identifier.|(){}[0] + abstract val privateKey // co.touchlab.kjwt.cryptography/EncryptionKey.privateKey|{}privateKey[0] + abstract fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.privateKey.|(){}[0] + abstract val publicKey // co.touchlab.kjwt.cryptography/EncryptionKey.publicKey|{}publicKey[0] + abstract fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.publicKey.|(){}[0] + open val algorithm // co.touchlab.kjwt.cryptography/EncryptionKey.algorithm|{}algorithm[0] + open fun (): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.cryptography/EncryptionKey.algorithm.|(){}[0] + open val keyId // co.touchlab.kjwt.cryptography/EncryptionKey.keyId|{}keyId[0] + open fun (): kotlin/String? // co.touchlab.kjwt.cryptography/EncryptionKey.keyId.|(){}[0] + + final fun mergeWith(co.touchlab.kjwt.cryptography/EncryptionKey?): co.touchlab.kjwt.cryptography/EncryptionKey // co.touchlab.kjwt.cryptography/EncryptionKey.mergeWith|mergeWith(co.touchlab.kjwt.cryptography.EncryptionKey?){}[0] + + final class DecryptionOnlyKey : co.touchlab.kjwt.cryptography/EncryptionKey, co.touchlab.kjwt.processor/JweDecryptor { // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey|null[0] + constructor (co.touchlab.kjwt.cryptography/EncryptionKey.Identifier, kotlin/Any) // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.|(co.touchlab.kjwt.cryptography.EncryptionKey.Identifier;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/EncryptionKey.Identifier // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.toString|toString(){}[0] + final suspend fun decrypt(kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): kotlin/ByteArray // co.touchlab.kjwt.cryptography/EncryptionKey.DecryptionOnlyKey.decrypt|decrypt(kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + } + + final class EncryptionKeyPair : co.touchlab.kjwt.cryptography/EncryptionKey, co.touchlab.kjwt.processor/JweProcessor { // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair|null[0] + constructor (co.touchlab.kjwt.cryptography/EncryptionKey.Identifier, kotlin/Any, kotlin/Any) // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.|(co.touchlab.kjwt.cryptography.EncryptionKey.Identifier;kotlin.Any;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/EncryptionKey.Identifier // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.toString|toString(){}[0] + final suspend fun decrypt(kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): kotlin/ByteArray // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.decrypt|decrypt(kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + final suspend fun encrypt(kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): co.touchlab.kjwt.model.algorithm/JweEncryptResult // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionKeyPair.encrypt|encrypt(kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + } + + final class EncryptionOnlyKey : co.touchlab.kjwt.cryptography/EncryptionKey, co.touchlab.kjwt.processor/JweEncryptor { // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey|null[0] + constructor (co.touchlab.kjwt.cryptography/EncryptionKey.Identifier, kotlin/Any) // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.|(co.touchlab.kjwt.cryptography.EncryptionKey.Identifier;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/EncryptionKey.Identifier // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.toString|toString(){}[0] + final suspend fun encrypt(kotlin/ByteArray, kotlin/ByteArray, co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm): co.touchlab.kjwt.model.algorithm/JweEncryptResult // co.touchlab.kjwt.cryptography/EncryptionKey.EncryptionOnlyKey.encrypt|encrypt(kotlin.ByteArray;kotlin.ByteArray;co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm){}[0] + } + + final class Identifier { // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier|null[0] + constructor (co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm, kotlin/String?) // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.|(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm;kotlin.String?){}[0] + + final val algorithm // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.algorithm|{}algorithm[0] + final fun (): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.algorithm.|(){}[0] + final val keyId // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.keyId|{}keyId[0] + final fun (): kotlin/String? // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.keyId.|(){}[0] + + final fun component1(): co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.component1|component1(){}[0] + final fun component2(): kotlin/String? // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.component2|component2(){}[0] + final fun copy(co.touchlab.kjwt.model.algorithm/EncryptionAlgorithm = ..., kotlin/String? = ...): co.touchlab.kjwt.cryptography/EncryptionKey.Identifier // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.copy|copy(co.touchlab.kjwt.model.algorithm.EncryptionAlgorithm;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.toString|toString(){}[0] + + final object Companion // co.touchlab.kjwt.cryptography/EncryptionKey.Identifier.Companion|null[0] + } +} + +sealed class co.touchlab.kjwt.cryptography/SigningKey : co.touchlab.kjwt.processor/BaseJwsProcessor { // co.touchlab.kjwt.cryptography/SigningKey|null[0] + abstract val identifier // co.touchlab.kjwt.cryptography/SigningKey.identifier|{}identifier[0] + abstract fun (): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.identifier.|(){}[0] + abstract val privateKey // co.touchlab.kjwt.cryptography/SigningKey.privateKey|{}privateKey[0] + abstract fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.privateKey.|(){}[0] + abstract val publicKey // co.touchlab.kjwt.cryptography/SigningKey.publicKey|{}publicKey[0] + abstract fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.publicKey.|(){}[0] + open val algorithm // co.touchlab.kjwt.cryptography/SigningKey.algorithm|{}algorithm[0] + open fun (): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.cryptography/SigningKey.algorithm.|(){}[0] + open val keyId // co.touchlab.kjwt.cryptography/SigningKey.keyId|{}keyId[0] + open fun (): kotlin/String? // co.touchlab.kjwt.cryptography/SigningKey.keyId.|(){}[0] + + final class Identifier { // co.touchlab.kjwt.cryptography/SigningKey.Identifier|null[0] + constructor (co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String?) // co.touchlab.kjwt.cryptography/SigningKey.Identifier.|(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?){}[0] + + final val algorithm // co.touchlab.kjwt.cryptography/SigningKey.Identifier.algorithm|{}algorithm[0] + final fun (): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.cryptography/SigningKey.Identifier.algorithm.|(){}[0] + final val keyId // co.touchlab.kjwt.cryptography/SigningKey.Identifier.keyId|{}keyId[0] + final fun (): kotlin/String? // co.touchlab.kjwt.cryptography/SigningKey.Identifier.keyId.|(){}[0] + + final fun component1(): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.cryptography/SigningKey.Identifier.component1|component1(){}[0] + final fun component2(): kotlin/String? // co.touchlab.kjwt.cryptography/SigningKey.Identifier.component2|component2(){}[0] + final fun copy(co.touchlab.kjwt.model.algorithm/SigningAlgorithm = ..., kotlin/String? = ...): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.Identifier.copy|copy(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.Identifier.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/SigningKey.Identifier.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/SigningKey.Identifier.toString|toString(){}[0] + + final object Companion { // co.touchlab.kjwt.cryptography/SigningKey.Identifier.Companion|null[0] + final val None // co.touchlab.kjwt.cryptography/SigningKey.Identifier.Companion.None|{}None[0] + final fun (): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.Identifier.Companion.None.|(){}[0] + } + } + + final class SigningKeyPair : co.touchlab.kjwt.cryptography/SigningKey, co.touchlab.kjwt.processor/JwsProcessor { // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair|null[0] + constructor (co.touchlab.kjwt.cryptography/SigningKey.Identifier, kotlin/Any, kotlin/Any) // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.|(co.touchlab.kjwt.cryptography.SigningKey.Identifier;kotlin.Any;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.toString|toString(){}[0] + final suspend fun sign(kotlin/ByteArray): kotlin/ByteArray // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.sign|sign(kotlin.ByteArray){}[0] + final suspend fun verify(kotlin/ByteArray, kotlin/ByteArray): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.SigningKeyPair.verify|verify(kotlin.ByteArray;kotlin.ByteArray){}[0] + } + + final class SigningOnlyKey : co.touchlab.kjwt.cryptography/SigningKey, co.touchlab.kjwt.processor/JwsSigner { // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey|null[0] + constructor (co.touchlab.kjwt.cryptography/SigningKey.Identifier, kotlin/Any) // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.|(co.touchlab.kjwt.cryptography.SigningKey.Identifier;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.toString|toString(){}[0] + final suspend fun sign(kotlin/ByteArray): kotlin/ByteArray // co.touchlab.kjwt.cryptography/SigningKey.SigningOnlyKey.sign|sign(kotlin.ByteArray){}[0] + } + + final class VerifyOnlyKey : co.touchlab.kjwt.cryptography/SigningKey, co.touchlab.kjwt.processor/JwsVerifier { // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey|null[0] + constructor (co.touchlab.kjwt.cryptography/SigningKey.Identifier, kotlin/Any) // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.|(co.touchlab.kjwt.cryptography.SigningKey.Identifier;kotlin.Any){}[0] + + final val identifier // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.identifier|{}identifier[0] + final fun (): co.touchlab.kjwt.cryptography/SigningKey.Identifier // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.identifier.|(){}[0] + final val privateKey // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.privateKey|{}privateKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.privateKey.|(){}[0] + final val publicKey // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.publicKey|{}publicKey[0] + final fun (): kotlin/Any // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.publicKey.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.toString|toString(){}[0] + final suspend fun verify(kotlin/ByteArray, kotlin/ByteArray): kotlin/Boolean // co.touchlab.kjwt.cryptography/SigningKey.VerifyOnlyKey.verify|verify(kotlin.ByteArray;kotlin.ByteArray){}[0] + } +} + +final fun (co.touchlab.kjwt.model.algorithm/JwtCurve).co.touchlab.kjwt.cryptography/toCryptographyKotlin(): dev.whyoleg.cryptography.algorithms/EC.Curve // co.touchlab.kjwt.cryptography/toCryptographyKotlin|toCryptographyKotlin@co.touchlab.kjwt.model.algorithm.JwtCurve(){}[0] +final fun (co.touchlab.kjwt.model.algorithm/JwtEdCurve).co.touchlab.kjwt.cryptography/toCryptographyKotlin(): dev.whyoleg.cryptography.algorithms/EdDSA.Curve // co.touchlab.kjwt.cryptography/toCryptographyKotlin|toCryptographyKotlin@co.touchlab.kjwt.model.algorithm.JwtEdCurve(){}[0] diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a1dcf761..6ea574d7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,15 +1,15 @@ [versions] -kotlin = "2.3.20" -agp = "9.1.0" -androidxTest = "1.6.1" +kotlin = "2.4.10" +agp = "9.1.1" +androidxTest = "1.7.0" kotlinxSerializationJson = "1.11.0" -kotlinxCoroutines = "1.10.2" +kotlinxCoroutines = "1.11.0" cryptography = "0.6.0" -kotest = "6.1.6" +kotest = "6.2.4" ksp = "2.3.6" detekt = "1.23.8" dokka = "2.2.0" -mavenPublish = "0.36.0" +mavenPublish = "0.37.0" [libraries] cryptography-core = { module = "dev.whyoleg.cryptography:cryptography-core", version.ref = "cryptography" } diff --git a/hardware-backed/processor/api/kjwt-hardware-backed-processor.klib.api b/hardware-backed/processor/api/kjwt-hardware-backed-processor.klib.api new file mode 100644 index 00000000..a4109dbd --- /dev/null +++ b/hardware-backed/processor/api/kjwt-hardware-backed-processor.klib.api @@ -0,0 +1,49 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final enum class co.touchlab.kjwt.hardware.model/SecureHardwarePreference : kotlin/Enum { // co.touchlab.kjwt.hardware.model/SecureHardwarePreference|null[0] + enum entry None // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.None|null[0] + enum entry Preferred // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.Preferred|null[0] + enum entry Required // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.Required|null[0] + + final val entries // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): co.touchlab.kjwt.hardware.model/SecureHardwarePreference // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // co.touchlab.kjwt.hardware.model/SecureHardwarePreference.values|values#static(){}[0] +} + +final class co.touchlab.kjwt.hardware/AppleKeychainSigningKey : co.touchlab.kjwt.processor/JwsProcessor { // co.touchlab.kjwt.hardware/AppleKeychainSigningKey|null[0] + final val algorithm // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.algorithm|{}algorithm[0] + final fun (): co.touchlab.kjwt.model.algorithm/SigningAlgorithm // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.algorithm.|(){}[0] + final val keyId // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.keyId|{}keyId[0] + final fun (): kotlin/String // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.keyId.|(){}[0] + + final suspend fun sign(kotlin/ByteArray): kotlin/ByteArray // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.sign|sign(kotlin.ByteArray){}[0] + final suspend fun verify(kotlin/ByteArray, kotlin/ByteArray): kotlin/Boolean // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.verify|verify(kotlin.ByteArray;kotlin.ByteArray){}[0] + + final object Companion { // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.Companion|null[0] + final fun getInstance(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String?): co.touchlab.kjwt.hardware/AppleKeychainSigningKey? // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.Companion.getInstance|getInstance(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?){}[0] + final fun getOrCreateInstance(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String?, kotlin/Int = ..., co.touchlab.kjwt.hardware.model/SecureHardwarePreference = ...): co.touchlab.kjwt.hardware/AppleKeychainSigningKey // co.touchlab.kjwt.hardware/AppleKeychainSigningKey.Companion.getOrCreateInstance|getOrCreateInstance(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String?;kotlin.Int;co.touchlab.kjwt.hardware.model.SecureHardwarePreference){}[0] + } +} + +final object co.touchlab.kjwt.hardware/AppleKeychainSigningKeyFactory { // co.touchlab.kjwt.hardware/AppleKeychainSigningKeyFactory|null[0] + final fun create(co.touchlab.kjwt.model.algorithm/SigningAlgorithm, kotlin/String, kotlin/Int = ..., kotlin/Boolean = ...) // co.touchlab.kjwt.hardware/AppleKeychainSigningKeyFactory.create|create(co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.String;kotlin.Int;kotlin.Boolean){}[0] +} + +final object co.touchlab.kjwt.hardware/SecureKeyFactory { // co.touchlab.kjwt.hardware/SecureKeyFactory|null[0] + final fun getOrCreateSecureSigningKey(kotlin/String? = ..., co.touchlab.kjwt.model.algorithm/SigningAlgorithm = ..., kotlin/Int = ..., co.touchlab.kjwt.hardware.model/SecureHardwarePreference = ...): co.touchlab.kjwt.processor/JwsProcessor // co.touchlab.kjwt.hardware/SecureKeyFactory.getOrCreateSecureSigningKey|getOrCreateSecureSigningKey(kotlin.String?;co.touchlab.kjwt.model.algorithm.SigningAlgorithm;kotlin.Int;co.touchlab.kjwt.hardware.model.SecureHardwarePreference){}[0] +} + +final val co.touchlab.kjwt.hardware.ext/coordLen // co.touchlab.kjwt.hardware.ext/coordLen|@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased{}coordLen[0] + final fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm.ECDSABased).(): kotlin/Int // co.touchlab.kjwt.hardware.ext/coordLen.|@co.touchlab.kjwt.model.algorithm.SigningAlgorithm.ECDSABased(){}[0] +final val co.touchlab.kjwt.hardware.ext/secKeyAlgorithm // co.touchlab.kjwt.hardware.ext/secKeyAlgorithm|@co.touchlab.kjwt.model.algorithm.SigningAlgorithm{}secKeyAlgorithm[0] + final fun (co.touchlab.kjwt.model.algorithm/SigningAlgorithm).(): kotlinx.cinterop/CPointer? // co.touchlab.kjwt.hardware.ext/secKeyAlgorithm.|@co.touchlab.kjwt.model.algorithm.SigningAlgorithm(){}[0] + +final fun (co.touchlab.kjwt.model.algorithm/EncryptionContentAlgorithm).co.touchlab.kjwt.hardware.ext/generateCek(kotlin/Function1): kotlin/ByteArray // co.touchlab.kjwt.hardware.ext/generateCek|generateCek@co.touchlab.kjwt.model.algorithm.EncryptionContentAlgorithm(kotlin.Function1){}[0] From a9ad2bd309befd12d259cd1362586c9333f17a7f Mon Sep 17 00:00:00 2001 From: Gustavo Fao Valvassori Date: Fri, 28 Aug 2026 18:30:00 -0300 Subject: [PATCH 2/4] fixed yarn lock --- kotlin-js-store/yarn.lock | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index ba9770c5..24d788cb 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -2859,7 +2859,16 @@ streamroller@^3.1.5: debug "^4.3.4" fs-extra "^8.1.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2891,7 +2900,14 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -3234,7 +3250,16 @@ workerpool@^9.2.0: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.4.tgz#f6c92395b2141afd78e2a889e80cb338fe9fca41" integrity sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 2989a37fea5a5d50614161742d7bf1321a8cf33f Mon Sep 17 00:00:00 2001 From: Gustavo Fao Valvassori Date: Fri, 28 Aug 2026 18:30:08 -0300 Subject: [PATCH 3/4] updated ios test scheme --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 483d51d0..b87e6fe1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -137,8 +137,8 @@ jobs: run: | set -o pipefail && xcodebuild test \ -project Subprojects/KJWT-HardwareTesting/iosApp/iosApp.xcodeproj \ - -scheme iosApp \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16' \ + -scheme KJWT-HardwareTestingTests \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 17' \ 2>&1 | xcpretty --report junit --output build/test-results/ios/TEST-ios-hardware.xml - name: Publish Test Report From 606e3371162d5d49a611ec8429e4d65955977aca Mon Sep 17 00:00:00 2001 From: Gustavo Fao Valvassori Date: Fri, 28 Aug 2026 19:06:44 -0300 Subject: [PATCH 4/4] Fixed broken Android implementation from android hardware backed --- .../hardware/SecureHardwareSigningKeyTest.kt | 5 +- .../hardware/AndroidKeyStoreSigningKey.kt | 80 ++++++++++++------- .../helpers/AndroidKeyStoreManager.kt | 19 +++++ 3 files changed, 75 insertions(+), 29 deletions(-) diff --git a/hardware-backed/processor/src/androidDeviceTest/kotlin/co/touchlab/kjwt/hardware/SecureHardwareSigningKeyTest.kt b/hardware-backed/processor/src/androidDeviceTest/kotlin/co/touchlab/kjwt/hardware/SecureHardwareSigningKeyTest.kt index 08d9670b..42088e1b 100644 --- a/hardware-backed/processor/src/androidDeviceTest/kotlin/co/touchlab/kjwt/hardware/SecureHardwareSigningKeyTest.kt +++ b/hardware-backed/processor/src/androidDeviceTest/kotlin/co/touchlab/kjwt/hardware/SecureHardwareSigningKeyTest.kt @@ -63,11 +63,12 @@ class SecureHardwareSigningKeyTest { @Test fun es512SignAndVerify() = runBlocking { assertJwsRoundTrip(SigningAlgorithm.ES512, "__kjwt_test_es512") } // ------------------------------------------------------------------------- - // JWS — EdDSA (Android Keystore EdDSA support requires API 33+) + // JWS — EdDSA (Android Keystore signs Ed25519 from API 33, but verifying with the public key + // needs Conscrypt's EdDSA provider, which is only available from API 36) // ------------------------------------------------------------------------- @Test - @SdkSuppress(minSdkVersion = 33) + @SdkSuppress(minSdkVersion = 36) fun ed25519SignAndVerify() = runBlocking { assertJwsRoundTrip(SigningAlgorithm.Ed25519, "__kjwt_test_ed25519") } // ------------------------------------------------------------------------- diff --git a/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/AndroidKeyStoreSigningKey.kt b/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/AndroidKeyStoreSigningKey.kt index 9b537feb..2c98126f 100644 --- a/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/AndroidKeyStoreSigningKey.kt +++ b/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/AndroidKeyStoreSigningKey.kt @@ -18,11 +18,12 @@ import co.touchlab.kjwt.hardware.model.runWithFlag import co.touchlab.kjwt.model.algorithm.Jwa import co.touchlab.kjwt.model.algorithm.SigningAlgorithm import co.touchlab.kjwt.processor.JwsProcessor +import java.security.InvalidKeyException import java.security.KeyPairGenerator import java.security.KeyStore import java.security.MessageDigest import java.security.Signature -import java.security.spec.EdDSAParameterSpec +import java.security.spec.ECGenParameterSpec import javax.crypto.KeyGenerator import javax.crypto.Mac @@ -99,9 +100,23 @@ public class AndroidKeyStoreSigningKey internal constructor( return SigningAlgorithm.None.SimpleProcessor.sign(data) } - val key = AndroidKeyStoreManager.getKey(keyId) val jcaAlgorithm = algorithm.toJcaSignatureName() + if (algorithm is SigningAlgorithm.EdDSABased) { + // EdDSA keys must not go through getEntry (see AndroidKeyStoreManager.getPrivateKeyAndCertificate) + val (privateKey, _) = AndroidKeyStoreManager.getPrivateKeyAndCertificate(keyId) + ?: error("No key available for signing content using $algorithm with id $keyId.") + + // Android Keystore returns raw RFC 8032 bytes — no conversion needed + return Signature.getInstance(jcaAlgorithm).run { + initSign(privateKey) + update(data) + sign() + } + } + + val key = AndroidKeyStoreManager.getKey(keyId) + return when (algorithm) { is SigningAlgorithm.MACBased if (key is KeyStore.SecretKeyEntry) -> { Mac.getInstance(jcaAlgorithm) @@ -139,15 +154,6 @@ public class AndroidKeyStoreSigningKey internal constructor( derSignature.ecdsaDerToP1363(algorithm.coordLen) } - is SigningAlgorithm.EdDSABased if (key is KeyStore.PrivateKeyEntry) -> { - // Android Keystore returns raw RFC 8032 bytes — no conversion needed - Signature.getInstance(jcaAlgorithm).run { - initSign(key.privateKey) - update(data) - sign() - } - } - else -> { error("No key available for signing content using $algorithm with id $keyId.") } @@ -166,9 +172,33 @@ public class AndroidKeyStoreSigningKey internal constructor( return SigningAlgorithm.None.SimpleProcessor.verify(data, signature) } - val key = AndroidKeyStoreManager.getKey(keyId) val jcaAlgorithm = algorithm.toJcaSignatureName() + if (algorithm is SigningAlgorithm.EdDSABased) { + // EdDSA keys must not go through getEntry (see AndroidKeyStoreManager.getPrivateKeyAndCertificate) + val (_, certificate) = AndroidKeyStoreManager.getPrivateKeyAndCertificate(keyId) + ?: error("No key available for verifying $algorithm with id $keyId.") + + // Signature is raw RFC 8032 bytes — no conversion needed + return Signature.getInstance(jcaAlgorithm).run { + try { + initVerify(certificate.publicKey) + } catch (e: InvalidKeyException) { + // Android Keystore can sign with Ed25519 from API 33, but verifying with the public key + // needs a software EdDSA provider. Conscrypt only registers one from API 36; on earlier + // releases no installed provider accepts the certificate's public key. + throw UnsupportedOperationException( + "Verifying $algorithm signatures requires Android API 36+ (no installed provider supports EdDSA verification).", + e, + ) + } + update(data) + verify(signature) + } + } + + val key = AndroidKeyStoreManager.getKey(keyId) + return when (algorithm) { is SigningAlgorithm.MACBased if (key is KeyStore.SecretKeyEntry) -> { val computed = sign(data) @@ -205,15 +235,6 @@ public class AndroidKeyStoreSigningKey internal constructor( } } - is SigningAlgorithm.EdDSABased if (key is KeyStore.PrivateKeyEntry) -> { - // Signature is raw RFC 8032 bytes — no conversion needed - Signature.getInstance(jcaAlgorithm).run { - initVerify(key.certificate.publicKey) - update(data) - verify(signature) - } - } - else -> { error("No key available for verifying $algorithm with id $keyId.") } @@ -292,7 +313,9 @@ public object AndroidKeystoreSigningKeyFactory { } if (algorithm is SigningAlgorithm.EdDSABased) { - setAlgorithmParameterSpec(EdDSAParameterSpec(false)) + // Android Keystore generates EdDSA keys through the EC generator and only accepts + // ECGenParameterSpec with the curve name (EdDSAParameterSpec is rejected). + setAlgorithmParameterSpec(ECGenParameterSpec(algorithm.curveName())) setDigests(KeyProperties.DIGEST_NONE) } @@ -301,6 +324,11 @@ public object AndroidKeystoreSigningKeyFactory { } } + private fun SigningAlgorithm.EdDSABased.curveName(): String = when (this) { + SigningAlgorithm.Ed25519 -> "ed25519" + SigningAlgorithm.Ed448 -> "ed448" + } + private fun SigningAlgorithm.toKeyPropertiesAlgorithm(): String = when (this) { SigningAlgorithm.HS256 -> KeyProperties.KEY_ALGORITHM_HMAC_SHA256 @@ -314,12 +342,10 @@ public object AndroidKeystoreSigningKeyFactory { is SigningAlgorithm.ECDSABased -> KeyProperties.KEY_ALGORITHM_EC - SigningAlgorithm.Ed25519 -> "Ed25519" - - // No constant available in KeyProperties for EdDSA algorithms - SigningAlgorithm.Ed448 -> "Ed448" + // Android Keystore has no dedicated EdDSA key algorithm; EdDSA keys are generated via + // the EC generator with the curve selected through ECGenParameterSpec. + is SigningAlgorithm.EdDSABased -> KeyProperties.KEY_ALGORITHM_EC - // No constant available in KeyProperties for EdDSA algorithms SigningAlgorithm.None -> error("None algorithm should be handled outside") } } diff --git a/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/helpers/AndroidKeyStoreManager.kt b/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/helpers/AndroidKeyStoreManager.kt index 32e8b5b9..c62b2fc7 100644 --- a/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/helpers/AndroidKeyStoreManager.kt +++ b/hardware-backed/processor/src/androidMain/kotlin/co/touchlab/kjwt/hardware/helpers/AndroidKeyStoreManager.kt @@ -2,6 +2,8 @@ package co.touchlab.kjwt.hardware.helpers import co.touchlab.kjwt.model.algorithm.Jwa import java.security.KeyStore +import java.security.PrivateKey +import java.security.cert.Certificate internal object AndroidKeyStoreManager { private const val DEFAULT_JWE_KEY_ALIAS = "__kjwt_default_%s_key__" @@ -11,6 +13,23 @@ internal object AndroidKeyStoreManager { fun getKey(keyId: String): KeyStore.Entry? = keystore.getEntry(keyId, null) + /** + * Fetches the private key and certificate without going through [KeyStore.getEntry]. + * + * On API 33–35, `getEntry` throws `IllegalArgumentException("private key algorithm does not match + * algorithm of public key in end entity certificate")` for Ed25519 keys. The check lives in the + * [KeyStore.PrivateKeyEntry] constructor in libcore, which requires the private key's algorithm name + * to equal the algorithm name of the public key in the first certificate: + * https://android.googlesource.com/platform/libcore/+/refs/heads/android15-release/ojluni/src/main/java/java/security/KeyStore.java + * The AndroidKeyStore provider on those releases returns mismatching names for Ed25519 keys, so the + * check fails. Retrieving the key and certificate separately bypasses the check. + */ + fun getPrivateKeyAndCertificate(keyId: String): Pair? { + val privateKey = keystore.getKey(keyId, null) as? PrivateKey ?: return null + val certificate = keystore.getCertificate(keyId) ?: return null + return privateKey to certificate + } + fun containsKey(keyId: String): Boolean = keystore.containsAlias(keyId) fun getDefaultKey(key: String?, algorithm: Jwa): String = key ?: DEFAULT_JWE_KEY_ALIAS.format(algorithm.id)