vess-mdl
Version:
Parse and and validate MDOC CBOR encoded binaries according to ISO 18013-5.
50 lines (49 loc) • 2.94 kB
TypeScript
export declare const VerificationAssessmentId: {
readonly ISSUER_AUTH: {
readonly IssuerCertificateValidity: "ISSUER_CERTIFICATE_VALIDITY";
readonly IssuerSignatureValidity: "ISSUER_SIGNATURE_VALIDITY";
readonly MsoSignedDateWithinCertificateValidity: "MSO_SIGNED_DATE_WITHIN_CERTIFICATE_VALIDITY";
readonly MsoValidityAtVerificationTime: "MSO_VALIDITY_AT_VERIFICATION_TIME";
readonly IssuerSubjectCountryNamePresence: "ISSUER_SUBJECT_COUNTRY_NAME_PRESENCE";
};
readonly DEVICE_AUTH: {
readonly DocumentDeviceSignaturePresence: "DOCUMENT_DEVICE_SIGNATURE_PRESENCE";
readonly DeviceAuthSignatureOrMacPresence: "DEVICE_AUTH_SIGNATURE_OR_MAC_PRESENCE";
readonly SessionTranscriptProvided: "SESSION_TRANSCRIPT_PROVIDED";
readonly DeviceKeyAvailableInIssuerAuth: "DEVICE_KEY_AVAILABLE_IN_ISSUERAUTH";
readonly DeviceSignatureValidity: "DEVICE_SIGNATURE_VALIDITY";
readonly DeviceMacPresence: "DEVICE_MAC_PRESENCE";
readonly DeviceMacAlgorithmCorrectness: "DEVICE_MAC_ALGORITHM_CORRECTNESS";
readonly EphemeralKeyPresence: "EPHEMERAL_KEY_PRESENCE";
readonly DeviceMacValidity: "DEVICE_MAC_VALIDITY";
};
readonly DATA_INTEGRITY: {
readonly IssuerAuthDigestAlgorithmSupported: "ISSUER_AUTH_DIGEST_ALGORITHM_SUPPORTED";
readonly IssuerAuthNamespaceDigestPresence: "ISSUER_AUTH_NAMESPACE_DIGEST_PRESENCE";
readonly AttributeDigestMatch: "ATTRIBUTE_DIGEST_MATCH";
readonly IssuingCountryMatchesCertificate: "ISSUING_COUNTRY_MATCHES_CERTIFICATE";
readonly IssuingJurisdictionMatchesCertificate: "ISSUING_JURISDICTION_MATCHES_CERTIFICATE";
};
readonly DOCUMENT_FORMAT: {
readonly DeviceResponseVersionPresence: "DEVICE_RESPONSE_VERSION_PRESENCE";
readonly DeviceResponseVersionSupported: "DEVICE_RESPONSE_VERSION_SUPPORTED";
readonly DeviceResponseDocumentPresence: "DEVICE_RESPONSE_DOCUMENT_PRESENCE";
};
};
export type VerificationAssessment = {
status: 'PASSED' | 'FAILED' | 'WARNING';
check: string;
reason?: string;
} & {
[C in keyof typeof VerificationAssessmentId]: {
category: C;
id: typeof VerificationAssessmentId[C][keyof typeof VerificationAssessmentId[C]];
};
}[keyof typeof VerificationAssessmentId];
export type VerificationCallback = (item: VerificationAssessment) => void;
export type UserDefinedVerificationCallback = (item: VerificationAssessment, original: VerificationCallback) => void;
export declare const defaultCallback: VerificationCallback;
export declare const buildCallback: (callback?: UserDefinedVerificationCallback) => VerificationCallback;
export declare const onCatCheck: <C extends keyof typeof VerificationAssessmentId>(onCheck: UserDefinedVerificationCallback, category: C) => (item: Omit<Extract<VerificationAssessment, {
category: C;
}>, "category">) => void;