From bb98668dde380dc34d25c7ceb6d7b15d1aac14dd Mon Sep 17 00:00:00 2001 From: Mario Bodemann Date: Wed, 17 Sep 2025 14:14:01 +0200 Subject: [PATCH 1/2] add sign extension to yubico authenticators --- .../wwwwallet/credentials/YubicoContainer.kt | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/wrapper/src/main/java/io/yubicolabs/wwwwallet/credentials/YubicoContainer.kt b/wrapper/src/main/java/io/yubicolabs/wwwwallet/credentials/YubicoContainer.kt index ac19576..ee3bcb6 100644 --- a/wrapper/src/main/java/io/yubicolabs/wwwwallet/credentials/YubicoContainer.kt +++ b/wrapper/src/main/java/io/yubicolabs/wwwwallet/credentials/YubicoContainer.kt @@ -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 @@ -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!! @@ -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, @@ -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!! From eee3fc7ecb827884b0b95447fcab6cf541b08e47 Mon Sep 17 00:00:00 2001 From: Mario Bodemann Date: Fri, 10 Oct 2025 12:27:32 +0200 Subject: [PATCH 2/2] update release notes for 0.1.2 --- RELEASE_NOTES.md | 8 ++++++++ gradle.properties | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a06ab80..774ea06 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -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 diff --git a/gradle.properties b/gradle.properties index 5710eae..39401e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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