Skip to content

Commit e47bcf7

Browse files
committed
WIP
1 parent 9950d29 commit e47bcf7

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

wallet-core/src/main/java/eu/europa/ec/eudi/wallet/transfer/openid4vp/responseGenerator/OpenId4VpSdJwtResponseGeneratorImpl.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package eu.europa.ec.eudi.wallet.transfer.openid4vp.responseGenerator
22

3+
import android.os.Build
4+
import android.security.keystore.KeyProperties
35
import com.nimbusds.jose.JWSAlgorithm
46
import com.nimbusds.jose.JWSHeader
57
import com.nimbusds.jose.crypto.ECDSASigner
@@ -32,6 +34,7 @@ import eu.europa.ec.eudi.sdjwt.serializeWithKeyBinding
3234
import eu.europa.ec.eudi.wallet.internal.Openid4VpX509CertificateTrust
3335
import eu.europa.ec.eudi.wallet.issue.openid4vci.DocumentManagerSdJwt
3436
import eu.europa.ec.eudi.wallet.keystore.DEV_KEY_ALIAS
37+
import eu.europa.ec.eudi.wallet.keystore.KeyGenerator
3538
import eu.europa.ec.eudi.wallet.keystore.KeyGeneratorImpl
3639
import eu.europa.ec.eudi.wallet.transfer.openid4vp.OpenId4VpSdJwtRequest
3740
import kotlinx.coroutines.runBlocking
@@ -61,7 +64,17 @@ class OpenId4VpSdJwtResponseGeneratorImpl(
6164

6265
val presentationSdJwt = sdJwt.present(jsonPointer)
6366

64-
val ecKey = ECKey.load(KeyGeneratorImpl.getKeyStore(), DEV_KEY_ALIAS, null)
67+
// val ecKey = ECKey.load(KeyGeneratorImpl.getKeyStore(), DEV_KEY_ALIAS, null)
68+
69+
val key= if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
70+
KeyGeneratorImpl.getSigningKey(KeyGenerator.SigningKeyConfig(KeyProperties.AUTH_DEVICE_CREDENTIAL,60))
71+
} else {
72+
throw Exception()
73+
}
74+
val pemString = "-----BEGIN CERTIFICATE-----\n" +
75+
"${key.privateKey}\n" +
76+
"-----END CERTIFICATE-----"
77+
val ecKey = ECKey.parse(pemString)
6578

6679
val signer = ECDSASigner(ecKey)
6780

@@ -160,13 +173,13 @@ class OpenId4VpSdJwtResponseGeneratorImpl(
160173
val keyString = headerJson.getJSONArray("x5c").getString(0).replace("\n", "")
161174
println(keyString)
162175

163-
val key2 = "-----BEGIN CERTIFICATE-----\n" +
176+
val pemString = "-----BEGIN CERTIFICATE-----\n" +
164177
"${keyString}\n" +
165178
"-----END CERTIFICATE-----"
166179

167180
val certificateFactory: CertificateFactory = CertificateFactory.getInstance("X.509")
168181
val certificate =
169-
certificateFactory.generateCertificate(ByteArrayInputStream(key2.toByteArray())) as X509Certificate
182+
certificateFactory.generateCertificate(ByteArrayInputStream(pemString.toByteArray())) as X509Certificate
170183

171184
val ecKey = ECKey.parse(certificate)
172185
val jwtSignatureVerifier = ECDSAVerifier(ecKey).asJwtVerifier()

0 commit comments

Comments
 (0)