Fix errors

This commit is contained in:
syuilo 2019-07-05 02:00:54 +09:00
parent d5cd38b459
commit d3edf03125
2 changed files with 7 additions and 7 deletions

View file

@ -63,15 +63,15 @@ function verifyCertificateChain(certificates: string[]) {
const CACert = i + 1 >= certificates.length ? Cert : certificates[i + 1];
const certStruct = jsrsasign.ASN1HEX.getTLVbyList(certificate.hex, 0, [0]);
const certStruct = jsrsasign.ASN1HEX.getTLVbyList(certificate.hex!, 0, [0]);
const algorithm = certificate.getSignatureAlgorithmField();
const signatureHex = certificate.getSignatureValueHex();
// Verify against CA
const Signature = new jsrsasign.crypto.Signature({alg: algorithm});
const Signature = new jsrsasign.KJUR.crypto.Signature({alg: algorithm});
Signature.init(CACert);
Signature.updateHex(certStruct);
valid = valid && Signature.verify(signatureHex); // true if CA signed the certificate
valid = valid && !!Signature.verify(signatureHex); // true if CA signed the certificate
}
return valid;
@ -260,7 +260,7 @@ export const procedures = {
}
const certificateChain = header.x5c
.map(key => PEMString(key))
.map((key: any) => PEMString(key))
.concat([GSR2]);
if (getCertSubject(certificateChain[0]).CN != 'attest.android.com') {

View file

@ -14,7 +14,7 @@ import config from '../../../../../config';
import { procedures, hash } from '../../../2fa';
import { publishMainStream } from '../../../../../services/stream';
const cborDecodeFirst = promisify(cbor.decodeFirst);
const cborDecodeFirst = promisify(cbor.decodeFirst) as any;
export const meta = {
requireCredential: true,
@ -90,11 +90,11 @@ export default define(meta, async (ps, user) => {
throw new Error('alg mismatch');
}
if (!procedures[attestation.fmt]) {
if (!(procedures as any)[attestation.fmt]) {
throw new Error('unsupported fmt');
}
const verificationData = procedures[attestation.fmt].verify({
const verificationData = (procedures as any)[attestation.fmt].verify({
attStmt: attestation.attStmt,
authenticatorData: authData,
clientDataHash: clientDataJSONHash,