Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# 0.1.2

* hotterfix: use signing extension sdk

# 0.1.1

* hotfix: add signing extension sdk

# 0.1.0

* passkeys provider
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ kotlin.code.style=official
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true

wallet.versionCode = 20
wallet.versionName = 0.1.0
wallet.versionCode = 21
wallet.versionName = 0.1.2

Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ import com.yubico.yubikit.core.util.Callback
import com.yubico.yubikit.core.util.Result
import com.yubico.yubikit.fido.client.BasicWebAuthnClient
import com.yubico.yubikit.fido.client.MultipleAssertionsAvailable
import com.yubico.yubikit.fido.client.extensions.CredBlobExtension
import com.yubico.yubikit.fido.client.extensions.CredPropsExtension
import com.yubico.yubikit.fido.client.extensions.CredProtectExtension
import com.yubico.yubikit.fido.client.extensions.HmacSecretExtension
import com.yubico.yubikit.fido.client.extensions.LargeBlobExtension
import com.yubico.yubikit.fido.client.extensions.MinPinLengthExtension
import com.yubico.yubikit.fido.client.extensions.SignExtension
import com.yubico.yubikit.fido.ctap.Ctap2Session
import com.yubico.yubikit.fido.webauthn.PublicKeyCredential
import com.yubico.yubikit.fido.webauthn.PublicKeyCredentialCreationOptions
Expand Down Expand Up @@ -200,7 +207,7 @@ class YubicoContainer(
operation: CreateOperation,
pin: String?,
) {
val client = BasicWebAuthnClient(session)
val client = createClient(session)

val createOptions = operation.options
val publicKey = createOptions.publicKey!!
Expand Down Expand Up @@ -244,6 +251,20 @@ class YubicoContainer(
}
}

private fun createClient(session: Ctap2Session) =
BasicWebAuthnClient(
session,
listOf(
CredPropsExtension(),
CredBlobExtension(),
CredProtectExtension(),
HmacSecretExtension(),
MinPinLengthExtension(),
LargeBlobExtension(),
SignExtension(),
),
)

private fun getWithDevice(
device: YubiKeyDevice,
operation: GetOperation,
Expand All @@ -268,7 +289,7 @@ class YubicoContainer(
operation: GetOperation,
pin: String?,
) {
val client = BasicWebAuthnClient(session)
val client = createClient(session)

val getOptions = operation.options
val publicKey = getOptions.publicKey!!
Expand Down