@@ -32,7 +32,9 @@ import com.android.identity.cose.Cose
32
32
import com.android.identity.cose.Cose.coseSign1Sign
33
33
import com.android.identity.cose.CoseLabel
34
34
import com.android.identity.cose.CoseNumberLabel
35
- import com.android.identity.document.Credential
35
+ import com.android.identity.credential.CredentialFactory
36
+ import com.android.identity.credential.MdocCredential
37
+ import com.android.identity.credential.SecureAreaBoundCredential
36
38
import com.android.identity.document.Document
37
39
import com.android.identity.document.DocumentStore
38
40
import com.android.identity.document.NameSpacedData
@@ -96,7 +98,7 @@ class DeviceRetrievalHelperTest {
96
98
private lateinit var mSecureArea: SecureArea
97
99
private lateinit var mSecureAreaRepository: SecureAreaRepository
98
100
private lateinit var mDocument: Document
99
- private lateinit var mCredential : Credential
101
+ private lateinit var mMdocCredential : SecureAreaBoundCredential
100
102
private lateinit var mTimeSigned: Timestamp
101
103
private lateinit var mTimeValidityBegin: Timestamp
102
104
private lateinit var mTimeValidityEnd: Timestamp
@@ -114,9 +116,12 @@ class DeviceRetrievalHelperTest {
114
116
mSecureAreaRepository = SecureAreaRepository ()
115
117
mSecureArea = SoftwareSecureArea (mStorageEngine)
116
118
mSecureAreaRepository.addImplementation(mSecureArea)
119
+ var credentialFactory = CredentialFactory ()
120
+ credentialFactory.addCredentialImplementation(MdocCredential ::class )
117
121
val documentStore = DocumentStore (
118
122
mStorageEngine,
119
- mSecureAreaRepository
123
+ mSecureAreaRepository,
124
+ credentialFactory
120
125
)
121
126
122
127
// Create the document...
@@ -135,21 +140,22 @@ class DeviceRetrievalHelperTest {
135
140
mTimeSigned = ofEpochMilli(nowMillis)
136
141
mTimeValidityBegin = ofEpochMilli(nowMillis + 3600 * 1000 )
137
142
mTimeValidityEnd = ofEpochMilli(nowMillis + 10 * 86400 * 1000 )
138
- mCredential = mDocument.createCredential (
143
+ mMdocCredential = MdocCredential .create (
139
144
CREDENTIAL_DOMAIN ,
140
145
mSecureArea,
141
146
SoftwareCreateKeySettings .Builder (ByteArray (0 ))
142
147
.setKeyPurposes(setOf (KeyPurpose .SIGN , KeyPurpose .AGREE_KEY ))
143
148
.build(),
144
- null
149
+ null ,
150
+ mDocument
145
151
)
146
- Assert .assertFalse(mCredential .isCertified)
152
+ Assert .assertFalse(mMdocCredential .isCertified)
147
153
148
154
// Generate an MSO and issuer-signed data for this credential.
149
155
val msoGenerator = MobileSecurityObjectGenerator (
150
156
" SHA-256" ,
151
157
MDL_DOCTYPE ,
152
- mCredential .attestation.certificates[0 ].publicKey
158
+ mMdocCredential .attestation.certificates[0 ].publicKey
153
159
)
154
160
msoGenerator.setValidityInfo(mTimeSigned, mTimeValidityBegin, mTimeValidityEnd, null )
155
161
val issuerNameSpaces = generateIssuerNameSpaces(
@@ -213,7 +219,7 @@ class DeviceRetrievalHelperTest {
213
219
).generate()
214
220
215
221
// Now that we have issuer-provided authentication data we certify the credential.
216
- mCredential .certify(
222
+ mMdocCredential .certify(
217
223
issuerProvidedAuthenticationData,
218
224
mTimeValidityBegin,
219
225
mTimeValidityEnd
@@ -377,7 +383,7 @@ class DeviceRetrievalHelperTest {
377
383
val generator = DeviceResponseGenerator (
378
384
Constants .DEVICE_RESPONSE_STATUS_OK
379
385
)
380
- val staticAuthData = StaticAuthDataParser (mCredential .issuerProvidedData)
386
+ val staticAuthData = StaticAuthDataParser (mMdocCredential .issuerProvidedData)
381
387
.parse()
382
388
val deviceSignedData = NameSpacedData .Builder ().build()
383
389
val mergedIssuerNamespaces: Map <String , List <ByteArray >> =
@@ -395,8 +401,8 @@ class DeviceRetrievalHelperTest {
395
401
.setIssuerNamespaces(mergedIssuerNamespaces)
396
402
.setDeviceNamespacesSignature(
397
403
deviceSignedData,
398
- mCredential .secureArea,
399
- mCredential .alias,
404
+ mMdocCredential .secureArea,
405
+ mMdocCredential .alias,
400
406
null ,
401
407
Algorithm .ES256
402
408
)
0 commit comments