Use CLOCK_BOOTTIME for keystore2 auth token received time

CLOCK_BOOTTIME is more correct because it includes time spent
while the device is suspended.

This also fixes an issue when comparing the times resulting from the
get_last_auth_time() API in the Java world, because we want to use
SystemClock.elapsedRealtime(), which uses CLOCK_BOOTTIME.

Bug: 309686873
Test: atest keystore2_client_tests
Change-Id: I89d71ccfcfe4f8b3495fede40ae26ad6fa2b0118
diff --git a/keystore2/src/utils.rs b/keystore2/src/utils.rs
index 80aa7c3..db2d0dc 100644
--- a/keystore2/src/utils.rs
+++ b/keystore2/src/utils.rs
@@ -268,7 +268,7 @@
     let mut current_time = libc::timespec { tv_sec: 0, tv_nsec: 0 };
     // SAFETY: The pointer is valid because it comes from a reference, and clock_gettime doesn't
     // retain it beyond the call.
-    unsafe { libc::clock_gettime(libc::CLOCK_MONOTONIC_RAW, &mut current_time) };
+    unsafe { libc::clock_gettime(libc::CLOCK_BOOTTIME, &mut current_time) };
     current_time.tv_sec as i64 * 1000 + (current_time.tv_nsec as i64 / 1_000_000)
 }