Skip to content

Commit cd50e5f

Browse files
committed
Rename secrets derivation apis
1 parent 659864a commit cd50e5f

File tree

7 files changed

+36
-20
lines changed

7 files changed

+36
-20
lines changed

cryptography-core/api/cryptography-core.api

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -771,9 +771,9 @@ public abstract interface class dev/whyoleg/cryptography/operations/SharedSecret
771771
public fun generateSharedSecret (Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
772772
public static synthetic fun generateSharedSecret$suspendImpl (Ldev/whyoleg/cryptography/operations/SharedSecretGenerator;Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
773773
public fun generateSharedSecretBlocking (Ldev/whyoleg/cryptography/materials/key/Key;)Lkotlinx/io/bytestring/ByteString;
774-
public fun generateSharedSecretByteArray (Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
775-
public static synthetic fun generateSharedSecretByteArray$suspendImpl (Ldev/whyoleg/cryptography/operations/SharedSecretGenerator;Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
776-
public abstract fun generateSharedSecretByteArrayBlocking (Ldev/whyoleg/cryptography/materials/key/Key;)[B
774+
public fun generateSharedSecretToByteArray (Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
775+
public static synthetic fun generateSharedSecretToByteArray$suspendImpl (Ldev/whyoleg/cryptography/operations/SharedSecretGenerator;Ldev/whyoleg/cryptography/materials/key/Key;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
776+
public abstract fun generateSharedSecretToByteArrayBlocking (Ldev/whyoleg/cryptography/materials/key/Key;)[B
777777
}
778778

779779
public abstract interface class dev/whyoleg/cryptography/operations/SignatureGenerator {

cryptography-core/api/cryptography-core.klib.api

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,10 +404,10 @@ abstract interface <#A: dev.whyoleg.cryptography.materials.key/Key> dev.whyoleg.
404404
}
405405

406406
abstract interface <#A: dev.whyoleg.cryptography.materials.key/Key> dev.whyoleg.cryptography.operations/SharedSecretGenerator { // dev.whyoleg.cryptography.operations/SharedSecretGenerator|null[0]
407-
abstract fun generateSharedSecretByteArrayBlocking(#A): kotlin/ByteArray // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecretByteArrayBlocking|generateSharedSecretByteArrayBlocking(1:0){}[0]
407+
abstract fun generateSharedSecretToByteArrayBlocking(#A): kotlin/ByteArray // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecretToByteArrayBlocking|generateSharedSecretToByteArrayBlocking(1:0){}[0]
408408
open fun generateSharedSecretBlocking(#A): kotlinx.io.bytestring/ByteString // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecretBlocking|generateSharedSecretBlocking(1:0){}[0]
409409
open suspend fun generateSharedSecret(#A): kotlinx.io.bytestring/ByteString // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecret|generateSharedSecret(1:0){}[0]
410-
open suspend fun generateSharedSecretByteArray(#A): kotlin/ByteArray // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecretByteArray|generateSharedSecretByteArray(1:0){}[0]
410+
open suspend fun generateSharedSecretToByteArray(#A): kotlin/ByteArray // dev.whyoleg.cryptography.operations/SharedSecretGenerator.generateSharedSecretToByteArray|generateSharedSecretToByteArray(1:0){}[0]
411411
}
412412

413413
abstract interface <#A: dev.whyoleg.cryptography.materials.key/KeyFormat, #B: dev.whyoleg.cryptography.materials.key/Key> dev.whyoleg.cryptography.materials.key/KeyDecoder { // dev.whyoleg.cryptography.materials.key/KeyDecoder|null[0]

cryptography-core/src/commonMain/kotlin/operations/SecretDerivation.kt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,17 @@ import kotlinx.io.bytestring.*
99

1010
@SubclassOptInRequired(CryptographyProviderApi::class)
1111
public interface SecretDerivation {
12-
public suspend fun deriveSecret(input: ByteArray): ByteArray = deriveSecretBlocking(input)
12+
public suspend fun deriveSecret(input: ByteArray): ByteArray {
13+
return deriveSecretBlocking(input)
14+
}
15+
16+
public suspend fun deriveSecret(input: ByteString): ByteString {
17+
return deriveSecret(input.asByteArray()).asByteString()
18+
}
19+
1320
public fun deriveSecretBlocking(input: ByteArray): ByteArray
1421

15-
public suspend fun deriveSecret(input: ByteString): ByteString = deriveSecret(input.asByteArray()).asByteString()
16-
public fun deriveSecretBlocking(input: ByteString): ByteString = deriveSecretBlocking(input.asByteArray()).asByteString()
22+
public fun deriveSecretBlocking(input: ByteString): ByteString {
23+
return deriveSecretBlocking(input.asByteArray()).asByteString()
24+
}
1725
}

cryptography-core/src/commonMain/kotlin/operations/SharedSecretGenerator.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,17 @@ import kotlinx.io.bytestring.*
1010

1111
@SubclassOptInRequired(CryptographyProviderApi::class)
1212
public interface SharedSecretGenerator<K : Key> {
13-
public suspend fun generateSharedSecretByteArray(other: K): ByteArray = generateSharedSecretByteArrayBlocking(other)
14-
public fun generateSharedSecretByteArrayBlocking(other: K): ByteArray
13+
public suspend fun generateSharedSecretToByteArray(other: K): ByteArray {
14+
return generateSharedSecretToByteArrayBlocking(other)
15+
}
1516

16-
public suspend fun generateSharedSecret(other: K): ByteString = generateSharedSecretByteArray(other).asByteString()
17-
public fun generateSharedSecretBlocking(other: K): ByteString = generateSharedSecretByteArrayBlocking(other).asByteString()
17+
public fun generateSharedSecretToByteArrayBlocking(other: K): ByteArray
18+
19+
public suspend fun generateSharedSecret(other: K): ByteString {
20+
return generateSharedSecretToByteArray(other).asByteString()
21+
}
22+
23+
public fun generateSharedSecretBlocking(other: K): ByteString {
24+
return generateSharedSecretToByteArrayBlocking(other).asByteString()
25+
}
1826
}

cryptography-providers/jdk/src/jvmMain/kotlin/algorithms/JdkEcdh.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal class JdkEcdh(state: JdkCryptographyState) : JdkEc<ECDH.PublicKey, ECDH
2525
) : ECDH.PublicKey, BaseEcPublicKey(key), SharedSecretGenerator<ECDH.PrivateKey> {
2626
private val keyAgreement = state.keyAgreement("ECDH")
2727
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PrivateKey> = this
28-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PrivateKey): ByteArray {
28+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PrivateKey): ByteArray {
2929
check(other is EcdhPrivateKey) { "Only key produced by JDK provider is supported" }
3030

3131
return keyAgreement.doAgreement(state, other.key, key)
@@ -38,7 +38,7 @@ internal class JdkEcdh(state: JdkCryptographyState) : JdkEc<ECDH.PublicKey, ECDH
3838
) : ECDH.PrivateKey, BaseEcPrivateKey(key), SharedSecretGenerator<ECDH.PublicKey> {
3939
private val keyAgreement = state.keyAgreement("ECDH")
4040
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PublicKey> = this
41-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PublicKey): ByteArray {
41+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PublicKey): ByteArray {
4242
check(other is EcdhPublicKey) { "Only key produced by JDK provider is supported" }
4343

4444
return keyAgreement.doAgreement(state, key, other.key)

cryptography-providers/openssl3/api/src/commonMain/kotlin/algorithms/Openssl3Ecdh.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ internal object Openssl3Ecdh : ECDH {
109109

110110
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PublicKey> = this
111111

112-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PublicKey): ByteArray {
112+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PublicKey): ByteArray {
113113
check(other is EcPublicKey)
114114

115115
return deriveSharedSecret(publicKey = other.key, privateKey = key)
@@ -133,7 +133,7 @@ internal object Openssl3Ecdh : ECDH {
133133

134134
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PrivateKey> = this
135135

136-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PrivateKey): ByteArray {
136+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PrivateKey): ByteArray {
137137
check(other is EcPrivateKey)
138138

139139
return deriveSharedSecret(publicKey = key, privateKey = other.key)

cryptography-providers/webcrypto/src/commonMain/kotlin/algorithms/WebCryptoEcdh.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal object WebCryptoEcdh : WebCryptoEc<ECDH.PublicKey, ECDH.PrivateKey, ECD
2525
) : EcPublicKey(publicKey), ECDH.PublicKey, SharedSecretGenerator<ECDH.PrivateKey> {
2626
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PrivateKey> = this
2727

28-
override suspend fun generateSharedSecretByteArray(other: ECDH.PrivateKey): ByteArray {
28+
override suspend fun generateSharedSecretToByteArray(other: ECDH.PrivateKey): ByteArray {
2929
check(other is EcdhPrivateKey)
3030
return WebCrypto.deriveBits(
3131
algorithm = EcdhKeyDeriveAlgorithm(publicKey),
@@ -34,15 +34,15 @@ internal object WebCryptoEcdh : WebCryptoEc<ECDH.PublicKey, ECDH.PrivateKey, ECD
3434
)
3535
}
3636

37-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PrivateKey): ByteArray = nonBlocking()
37+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PrivateKey): ByteArray = nonBlocking()
3838
}
3939

4040
private class EcdhPrivateKey(
4141
privateKey: CryptoKey,
4242
) : EcPrivateKey(privateKey), ECDH.PrivateKey, SharedSecretGenerator<ECDH.PublicKey> {
4343
override fun sharedSecretGenerator(): SharedSecretGenerator<ECDH.PublicKey> = this
4444

45-
override suspend fun generateSharedSecretByteArray(other: ECDH.PublicKey): ByteArray {
45+
override suspend fun generateSharedSecretToByteArray(other: ECDH.PublicKey): ByteArray {
4646
check(other is EcdhPublicKey)
4747
return WebCrypto.deriveBits(
4848
algorithm = EcdhKeyDeriveAlgorithm(other.publicKey),
@@ -51,6 +51,6 @@ internal object WebCryptoEcdh : WebCryptoEc<ECDH.PublicKey, ECDH.PrivateKey, ECD
5151
)
5252
}
5353

54-
override fun generateSharedSecretByteArrayBlocking(other: ECDH.PublicKey): ByteArray = nonBlocking()
54+
override fun generateSharedSecretToByteArrayBlocking(other: ECDH.PublicKey): ByteArray = nonBlocking()
5555
}
5656
}

0 commit comments

Comments
 (0)