@@ -45,7 +45,11 @@ import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder
4545import org.bouncycastle.operator.ContentSigner
4646import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder
4747
48- internal class KeyAttestationCertFactory (val fakeCalendar : FakeCalendar = FakeCalendar .DEFAULT ) {
48+ internal class KeyAttestationCertFactory (
49+ val fakeCalendar : FakeCalendar = FakeCalendar .DEFAULT ,
50+ val hardodedRootKey : KeyPair ? = null ,
51+ val hardcodedRoot : X509Certificate ? = null ,
52+ ) {
4953 private val ecKeyPairGenerator =
5054 KeyPairGenerator .getInstance(" EC" ).apply {
5155 initialize(ECGenParameterSpec (" secp256r1" ), FakeSecureRandom ())
@@ -60,13 +64,13 @@ internal class KeyAttestationCertFactory(val fakeCalendar: FakeCalendar = FakeCa
6064
6165 internal fun generateRsaKeyPair () = rsaKeyPairGenerator.generateKeyPair()
6266
63- val rootKey = ecKeyPairGenerator.generateKeyPair()
67+ val rootKey = hardodedRootKey ? : ecKeyPairGenerator.generateKeyPair()
6468 val intermediateKey = ecKeyPairGenerator.generateKeyPair()
6569 val rkpKey = ecKeyPairGenerator.generateKeyPair()
6670 val attestationKey = ecKeyPairGenerator.generateKeyPair()
6771 val leafKey: KeyPair = ecKeyPairGenerator.generateKeyPair()
6872
69- val root: X509Certificate = generateRootCertificate()
73+ val root: X509Certificate = hardcodedRoot ? : generateRootCertificate()
7074 val factoryIntermediate = generateIntermediateCertificate()
7175 val remoteIntermediate = generateIntermediateCertificate(subject = REMOTE_INTERMEDIATE_SUBJECT )
7276 val rkpIntermediate =
0 commit comments