@@ -6,11 +6,7 @@ import at.asitplus.openid.*
66import at.asitplus.rqes.CredentialInfo
77import at.asitplus.rqes.QtspSignatureRequest
88import at.asitplus.rqes.SignHashRequestParameters
9- import at.asitplus.rqes.collection_entries.CertificateParameters
10- import at.asitplus.rqes.collection_entries.DocumentDigest
11- import at.asitplus.rqes.collection_entries.KeyParameters
12- import at.asitplus.rqes.collection_entries.DocumentLocation
13- import at.asitplus.rqes.collection_entries.OAuthDocumentDigest
9+ import at.asitplus.rqes.collection_entries.*
1410import at.asitplus.rqes.enums.ConformanceLevel
1511import at.asitplus.rqes.enums.SignatureFormat
1612import at.asitplus.rqes.enums.SignedEnvelopeProperty
@@ -19,8 +15,6 @@ import at.asitplus.signum.indispensable.X509SignatureAlgorithm
1915import at.asitplus.signum.indispensable.X509SignatureAlgorithm.entries
2016import at.asitplus.signum.indispensable.pki.X509Certificate
2117import at.asitplus.wallet.lib.oauth2.OAuth2Client
22- import at.asitplus.wallet.lib.oidvci.DefaultMapStore
23- import at.asitplus.wallet.lib.oidvci.MapStore
2418import at.asitplus.wallet.lib.rqes.helper.OAuth2RqesParameters
2519import com.benasher44.uuid.uuid4
2620
@@ -55,7 +49,6 @@ class RqesOpenId4VpHolder(
5549 var signatureProperties = SignatureProperties ()
5650 private set
5751
58- // TODO check if [CryptoProperties] align with signingCredential otw change it
5952 var signingCredential: SigningCredential ? = null
6053 private set
6154
@@ -64,25 +57,22 @@ class RqesOpenId4VpHolder(
6457 CREDENTIAL (" credential" ),
6558 }
6659
67- /* *
68- * TODO probably match [SignatureProperties] and [CryptoProperties] with [credentialInfo] if they are set
69- */
7060 suspend fun setSigningCredential (credentialInfo : CredentialInfo ) {
71- require(credentialInfo.credentialID != null )
72- require(credentialInfo.certParameters != null )
73- with ( credentialInfo.certParameters!! ) {
74- require(! this .certificates.isNullOrEmpty())
75- require(this . status == CertificateParameters .CertStatus .VALID )
76- }
61+ require(credentialInfo.credentialID != null ) { " credentialID must not be null (Required by SignHashRequestParameters) " }
62+
63+ credentialInfo.certParameters?. let {
64+ require(! it .certificates.isNullOrEmpty()) { " Signing Certificate chain must not be null or empty " }
65+ it.status?. let { status -> require(status == CertificateParameters .CertStatus .VALID ) { " Signing Certificate status must be valid " } }
66+ } ? : throw IllegalArgumentException ( " Certificate parameters must not be null " )
7767
7868 with (credentialInfo.keyParameters) {
79- require(status == KeyParameters .KeyStatusOptions .ENABLED )
69+ require(status == KeyParameters .KeyStatusOptions .ENABLED ) { " Signing key parameters must be enabled " }
8070 }
8171
8272 val signingAlgos =
8373 credentialInfo.keyParameters.algo.mapNotNull { oid -> catching { entries.first { it.oid == oid } }.getOrNull() }
8474
85- require(signingAlgos.isNotEmpty())
75+ require(signingAlgos.isNotEmpty()) { " Supported signing algorithms must not be null or empty " }
8676
8777 signingCredential = SigningCredential (
8878 credentialId = credentialInfo.credentialID!! ,
0 commit comments