diff options
author | Matthew Miller <matthew@millerti.me> | 2020-07-04 23:43:36 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2020-07-04 23:43:36 -0700 |
commit | baca293ae6bc3562af933e7b1d5da27eaedaeb8e (patch) | |
tree | dea94dcf3e531390772a5fe495e96e5c3d7570b4 | |
parent | e4b04d1bec25a03f5a153a3acc054452789de26c (diff) |
Add metadata verification to AndroidKey
-rw-r--r-- | packages/server/src/attestation/verifications/verifyAndroidKey.ts | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/packages/server/src/attestation/verifications/verifyAndroidKey.ts b/packages/server/src/attestation/verifications/verifyAndroidKey.ts index 0198ee7..2b91a30 100644 --- a/packages/server/src/attestation/verifications/verifyAndroidKey.ts +++ b/packages/server/src/attestation/verifications/verifyAndroidKey.ts @@ -9,7 +9,8 @@ import { JASN1, } from '../../helpers/asn1Utils'; import convertCOSEtoPKCS, { COSEALGHASH } from '../../helpers/convertCOSEtoPKCS'; -import validateCertificatePath from '../../helpers/validateCertificatePath'; +import MetadataService from '../../metadata/metadataService'; +import verifyAttestationWithMetadata from 'metadata/verifyAttestationWithMetadata'; type Options = { authData: Buffer; @@ -87,11 +88,13 @@ export default async function verifyAttestationAndroidKey(options: Options): Pro // throw new Error('Root certificate was not expected certificate (AndroidKey)'); // } - // Verify certificate path - try { - validateCertificatePath(x5c.map(convertASN1toPEM)); - } catch (err) { - throw new Error(`${err} (AndroidKey)`); + const statement = await MetadataService.getStatement(aaguid); + if (statement) { + try { + verifyAttestationWithMetadata(statement, alg, x5c); + } catch (err) { + throw new Error(`${err.message} (AndroidKey)`); + } } const signatureBase = Buffer.concat([authData, clientDataHash]); |