Fix: GetKeyLocations returning non-existing user token
Add a special case for public_slot==system_slot in GetKeyLocations. After the system slot is ready, SystemTokenCertDbInitializer creates an NSSCertDatabase instance to be used as a wrapper for the system slot. SystemTokenCertDbInitializer initializes the public slot of the created NSSCertDatabase to be the same as the system slot just as a dummy value because NSSCertDatabase expects public_slot to not be nullptr. This introduced a problem while trying to retrieve key locations on login screen, because on login screen, the NSSCertDatabase instance initialized by SystemTokenCertDbInitializer is used in PlatformKeysService. Bug: 1150973 Change-Id: I58a7f968bd688ad118eb58431dad6c74a2cf4513 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2550643 Commit-Queue: Omar Morsi <omorsi@google.com> Reviewed-by:Alexander Hendrich <hendrich@chromium.org> Reviewed-by:
Pavol Marko <pmarko@chromium.org> Cr-Commit-Position: refs/heads/master@{#829779}
Showing
Please register or sign in to comment