Skip to content

Commit ac57532

Browse files
agxpcopybara-github
authored andcommitted
Add Flogger logging and ThreadSafe annotations to Verifier.
PiperOrigin-RevId: 850090876
1 parent 851433e commit ac57532

1 file changed

Lines changed: 22 additions & 6 deletions

File tree

src/main/kotlin/Verifier.kt

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,28 +42,44 @@ import kotlinx.coroutines.guava.future
4242
import kotlinx.coroutines.runBlocking
4343

4444
/** The result of verifying an Android Key Attestation certificate chain. */
45+
@ThreadSafe
4546
sealed interface VerificationResult {
47+
@ThreadSafe
4648
data class Success(
47-
val publicKey: PublicKey,
49+
@field:ThreadSafe.Suppress(reason = "PublicKey is immutable") val publicKey: PublicKey,
4850
val challenge: ByteString,
4951
val securityLevel: SecurityLevel,
5052
val verifiedBootState: VerifiedBootState,
5153
val deviceInformation: ProvisioningInfoMap?,
54+
@field:ThreadSafe.Suppress(reason = "DeviceIdentity is deeply immutable")
5255
val attestedDeviceIds: DeviceIdentity,
5356
) : VerificationResult
5457

55-
data object ChallengeMismatch : VerificationResult
58+
@ThreadSafe data object ChallengeMismatch : VerificationResult
5659

57-
data class PathValidationFailure(val cause: CertPathValidatorException) : VerificationResult
60+
@ThreadSafe
61+
data class PathValidationFailure(
62+
@field:ThreadSafe.Suppress(reason = "Exceptions are generally immutable after creation")
63+
val cause: CertPathValidatorException
64+
) : VerificationResult
5865

59-
data class ChainParsingFailure(val cause: Exception) : VerificationResult
66+
@ThreadSafe
67+
data class ChainParsingFailure(
68+
@field:ThreadSafe.Suppress(reason = "Exceptions are generally immutable after creation")
69+
val cause: Exception
70+
) : VerificationResult
6071

61-
data class ExtensionParsingFailure(val cause: ExtensionParsingException) : VerificationResult
72+
@ThreadSafe
73+
data class ExtensionParsingFailure(
74+
@field:ThreadSafe.Suppress(reason = "Exceptions are generally immutable after creation")
75+
val cause: ExtensionParsingException
76+
) : VerificationResult
6277

78+
@ThreadSafe
6379
data class ExtensionConstraintViolation(val cause: String, val reason: KeyAttestationReason) :
6480
VerificationResult
6581

66-
data object SoftwareAttestationUnsupported : VerificationResult
82+
@ThreadSafe data object SoftwareAttestationUnsupported : VerificationResult
6783
}
6884

6985
/**

0 commit comments

Comments
 (0)