Commit 73a4f93c authored by Martin Kreichgauer's avatar Martin Kreichgauer Committed by Commit Bot

fido/mac: Change AAGUID for Touch ID self-authentication to all zeroes.

Touch ID previously used a non-zero AAGUID chosen by us. But WebAuthn
requires self-attestation to use an all-zero AAGUID value.

Also delete the unused |TouchIdAaguid| function.

Bug: 678128
Change-Id: I27bc82f7248d2c22ede773c0e6b010f56022d255
Reviewed-on: https://chromium-review.googlesource.com/1172911Reviewed-by: default avatarAdam Langley <agl@chromium.org>
Reviewed-by: default avatarBalazs Engedy <engedy@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582888}
parent 045f7eb8
...@@ -47,8 +47,6 @@ base::Optional<std::vector<uint8_t>> GenerateSignature( ...@@ -47,8 +47,6 @@ base::Optional<std::vector<uint8_t>> GenerateSignature(
std::unique_ptr<ECPublicKey> SecKeyRefToECPublicKey(SecKeyRef public_key_ref) std::unique_ptr<ECPublicKey> SecKeyRefToECPublicKey(SecKeyRef public_key_ref)
API_AVAILABLE(macosx(10.12.2)); API_AVAILABLE(macosx(10.12.2));
std::vector<uint8_t> TouchIdAaguid();
} // namespace mac } // namespace mac
} // namespace fido } // namespace fido
} // namespace device } // namespace device
......
...@@ -31,14 +31,11 @@ using base::scoped_nsobject; ...@@ -31,14 +31,11 @@ using base::scoped_nsobject;
using cbor::CBORWriter; using cbor::CBORWriter;
using cbor::CBORValue; using cbor::CBORValue;
// The authenticator AAGUID value. // WebAuthn requires an all-zero AAGUID for authenticators using
constexpr std::array<uint8_t, 16> kAaguid = {0xad, 0xce, 0x00, 0x02, 0x35, 0xbc, // self-attestation.
0xc6, 0x0a, 0x64, 0x8b, 0x0b, 0x25, constexpr std::array<uint8_t, 16> kAaguid = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf1, 0xf0, 0x55, 0x03}; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};
std::vector<uint8_t> TouchIdAaguid() {
return std::vector<uint8_t>(kAaguid.begin(), kAaguid.end());
}
// SecKeyRefToECPublicKey converts a SecKeyRef for a public key into an // SecKeyRefToECPublicKey converts a SecKeyRef for a public key into an
// equivalent |ECPublicKey| instance. It returns |nullptr| if the key cannot be // equivalent |ECPublicKey| instance. It returns |nullptr| if the key cannot be
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment