Skip to content

Commit 8ce84b6

Browse files
authored
Merge pull request #49 from a-sit-plus/release/2.4.0
Release/2.4.0
2 parents 6014d86 + a20b57d commit 8ce84b6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1623
-494
lines changed

.gitignore

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ build/
55
!**/src/test/**/build/
66

77
### IntelliJ IDEA ###
8-
.idea/modules.xml
9-
.idea/jarRepositories.xml
10-
.idea/compiler.xml
11-
.idea/libraries/
8+
.idea
129
*.iws
1310
*.iml
1411
*.ipr
@@ -39,4 +36,4 @@ bin/
3936
.vscode/
4037

4138
### Mac OS ###
42-
.DS_Store
39+
.DS_Store

.gitmodules

Whitespace-only changes.

CHANGELOG.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,10 @@
3939
* Change `JwsHeader.publicKey` from JsonWebKey to CryptoPublicKey
4040
* Remove `SignatureValueLength` parameters from JWS & COSE Algorithm Enum class
4141
* Remove deprecated functions
42-
* New `CryptoAlgorithm` class
43-
* New `CryptoSignature` class for easy Asn1 - RawByteArray conversion
4442
* Rename `Jws` classes
4543
* New `CryptoAlgorithm` class
4644
* New `CryptoSignature` class for easy Asn1 - RawByteArray conversion
47-
* Rename function in file `JcaExtensions.kt` from `.toPublicKey` to `.toJcaPublicKey` to reflect connection to JVMname function in file `JcaExtensions.kt` from `.toPublicKey` to `.toJcaPublicKey` to reflect connection to JVM
45+
* Rename function in file `JcaExtensions.kt` from `.toPublicKey` to `.toJcaPublicKey` to reflect connection to JVM
4846
* Remove VcLib-specific constants
4947

5048
#### 2.2.1
@@ -57,3 +55,15 @@
5755
* Add `CryptoSignature.parseFromJca` function
5856
* Refactor `CryptoPublicKey.keyID` to `CryptoPublicKey.didEncoded` to better reflect what it actually is
5957
* Rename `CryptoPublicKey.fromKeyId` to `CryptoPublicKey.fromDid`
58+
59+
### 2.4.0
60+
* Add Support for EC Point compression
61+
* Add Support for full Cose-Key Spec
62+
* Correct Multibase Encoding
63+
* Change `DID:KEY` encoding to Base58_BTC to comply with draft
64+
* Add Multibase Encoder/Decoder
65+
* Add UVarInt datatype (63 bit max)
66+
* Remove MultibaseHelper
67+
* Finally make `CoseKey`'s EC Point compression play nicely with kotlinx.serialization
68+
* Rename `CoseKey.fromKeyId` to `CoseKey.fromDid`
69+
* Rename `JsonWebKey.fromKeyId` to `JsonWebKey.fromDid`

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import org.jetbrains.dokka.gradle.DokkaMultiModuleTask
22

33
plugins {
4-
id("at.asitplus.gradle.conventions") version "1.9.22+20240213" //version can be omitted for composite build
4+
id("at.asitplus.gradle.conventions") version "1.9.10+20240219"
55
}
66
group = "at.asitplus.crypto"
77

@@ -10,7 +10,7 @@ group = "at.asitplus.crypto"
1010
apply(plugin = "org.jetbrains.dokka")
1111
tasks.getByName("dokkaHtmlMultiModule") {
1212
(this as DokkaMultiModuleTask)
13-
outputDirectory.set(File("$buildDir/dokka"))
13+
outputDirectory.set(File("${layout.buildDirectory}/dokka"))
1414
includes.from("README.md")
1515
moduleName.set("KMP Crypto")
1616
}

buildSrc/build.gradle.kts

Lines changed: 0 additions & 6 deletions
This file was deleted.

buildSrc/src/main/kotlin/DatatypeVersions.kt

Lines changed: 0 additions & 4 deletions
This file was deleted.

datatypes-cose/build.gradle.kts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
import DatatypeVersions.encoding
2-
import at.asitplus.gradle.*
1+
import at.asitplus.gradle.datetime
2+
import at.asitplus.gradle.exportIosFramework
3+
import at.asitplus.gradle.kmmresult
4+
import at.asitplus.gradle.napier
5+
import at.asitplus.gradle.serialization
6+
import at.asitplus.gradle.setupDokka
37

48
plugins {
59
kotlin("multiplatform")
@@ -21,21 +25,23 @@ kotlin {
2125
languageSettings.optIn("kotlin.ExperimentalUnsignedTypes")
2226
}
2327

24-
commonMain {
28+
val commonMain by getting {
2529
dependencies {
2630
api(project(":datatypes"))
2731
api(serialization("cbor"))
2832
implementation(napier())
29-
implementation("io.matthewnelson.kotlin-components:encoding-base16:${encoding}")
30-
implementation("io.matthewnelson.kotlin-components:encoding-base64:${encoding}")
33+
implementation(libs.base16)
34+
implementation(libs.base64)
35+
implementation(libs.bignum) //Intellij bug work-around
3136
}
3237
}
3338

34-
commonTest {
39+
val commonTest by getting {
3540
dependencies {
3641
implementation(kotlin("reflect"))
3742
}
3843
}
44+
val jvmTest by getting
3945
}
4046
}
4147

@@ -47,7 +53,10 @@ exportIosFramework(
4753
project(":datatypes")
4854
)
4955

50-
val javadocJar = setupDokka(baseUrl = "https://github.com/a-sit-plus/kmp-crypto/tree/main/", multiModuleDoc = true)
56+
val javadocJar = setupDokka(
57+
baseUrl = "https://github.com/a-sit-plus/kmp-crypto/tree/main/",
58+
multiModuleDoc = true
59+
)
5160

5261

5362
publishing {

datatypes-cose/src/commonMain/kotlin/at/asitplus/crypto/datatypes/cose/CoseEllipticCurve.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ enum class CoseEllipticCurve(val value: Int) {
1616
P384(2),
1717
P521(3);
1818

19-
fun toJwkCurve() = when (this) {
19+
fun toEcCurve() = when (this) {
2020
P256 -> EcCurve.SECP_256_R_1
2121
P384 -> EcCurve.SECP_384_R_1
2222
P521 -> EcCurve.SECP_521_R_1

datatypes-cose/src/commonMain/kotlin/at/asitplus/crypto/datatypes/cose/CoseHeader.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@ import at.asitplus.crypto.datatypes.cose.io.cborSerializer
44
import io.github.aakira.napier.Napier
55
import io.matthewnelson.encoding.base16.Base16
66
import io.matthewnelson.encoding.core.Encoder.Companion.encodeToString
7-
import kotlinx.serialization.*
7+
import kotlinx.serialization.ExperimentalSerializationApi
8+
import kotlinx.serialization.SerialName
9+
import kotlinx.serialization.Serializable
810
import kotlinx.serialization.cbor.ByteString
911
import kotlinx.serialization.cbor.CborLabel
12+
import kotlinx.serialization.decodeFromByteArray
13+
import kotlinx.serialization.encodeToByteArray
1014

1115
/**
1216
* Protected header of a [CoseSigned].

0 commit comments

Comments
 (0)