@@ -181,6 +181,7 @@ object TestAuthenticator {
181
181
): JsonNode =
182
182
makePackedAttestationStatement(authDataBytes, clientDataJson, signer)
183
183
}
184
+
184
185
def fidoU2f (signer : AttestationSigner ): AttestationMaker =
185
186
new AttestationMaker {
186
187
override val format = " fido-u2f"
@@ -191,6 +192,7 @@ object TestAuthenticator {
191
192
): JsonNode =
192
193
makeU2fAttestationStatement(authDataBytes, clientDataJson, signer)
193
194
}
195
+
194
196
def androidSafetynet (
195
197
cert : AttestationCert ,
196
198
ctsProfileMatch : Boolean = true ,
@@ -209,6 +211,7 @@ object TestAuthenticator {
209
211
ctsProfileMatch = ctsProfileMatch,
210
212
)
211
213
}
214
+
212
215
def apple (
213
216
addNonceExtension : Boolean = true ,
214
217
nonceValue : Option [ByteArray ] = None ,
@@ -243,6 +246,7 @@ object TestAuthenticator {
243
246
caKey,
244
247
)
245
248
}
249
+
246
250
def tpm (
247
251
cert : AttestationCert ,
248
252
ver : Option [String ] = Some (" 2.0" ),
@@ -294,6 +298,7 @@ object TestAuthenticator {
294
298
def cert : X509Certificate
295
299
def certChain : List [(X509Certificate , PrivateKey )]
296
300
}
301
+
297
302
case class SelfAttestation (keypair : KeyPair , alg : COSEAlgorithmIdentifier )
298
303
extends AttestationSigner {
299
304
override def key : PrivateKey = keypair.getPrivate
@@ -302,6 +307,7 @@ object TestAuthenticator {
302
307
}
303
308
override def certChain = Nil
304
309
}
310
+
305
311
case class AttestationCert (
306
312
override val cert : X509Certificate ,
307
313
override val key : PrivateKey ,
@@ -313,6 +319,7 @@ object TestAuthenticator {
313
319
keypair : (X509Certificate , PrivateKey ),
314
320
) = this (keypair._1, keypair._2, alg, Nil )
315
321
}
322
+
316
323
object AttestationSigner {
317
324
def ca (
318
325
alg : COSEAlgorithmIdentifier ,
0 commit comments