import { ISSUER_TAGS_TRANSLATIONS, SUBJECT_TAGS_TRANSLATIONS } from '../../constants'; import { TagTranslation } from '../../helpers/_parseCertInfo'; import { exportBase64 } from './exportBase64'; import { getAlgorithm } from './getAlgorithm'; import { getCadesProp } from './getCadesProp'; import { getDecodedExtendedKeyUsage, ExtendedKeysTranslations } from './getDecodedExtendedKeyUsage'; import { getExtendedKeyUsage } from './getExtendedKeyUsage'; import { getInfo } from './getInfo'; import { hasExtendedKeyUsage } from './hasExtendedKeyUsage'; import { isValid } from './isValid'; export type CadesCertificate = any; export class Certificate { constructor( public _cadesCertificate: CadesCertificate, public name: string, public issuerName: string, public subjectName: string, public thumbprint: string, public validFrom: string, public validTo: string, ) {} public getOwnerInfo(): Promise<TagTranslation[]> { return getInfo.call(this, SUBJECT_TAGS_TRANSLATIONS, 'SubjectName'); } public getIssuerInfo(): Promise<TagTranslation[]> { return getInfo.call(this, ISSUER_TAGS_TRANSLATIONS, 'IssuerName'); } public getExtendedKeyUsage(): Promise<string[]> { return getExtendedKeyUsage.call(this); } public getDecodedExtendedKeyUsage(): Promise<ExtendedKeysTranslations> { return getDecodedExtendedKeyUsage.call(this); } public getAlgorithm(): Promise<string> { return getAlgorithm.call(this); } public getCadesProp(propName): Promise<any> { return getCadesProp.call(this, propName); } public isValid(): Promise<boolean> { return isValid.call(this); } public exportBase64(): Promise<string> { return exportBase64.call(this); } public hasExtendedKeyUsage(oids): Promise<boolean> { return hasExtendedKeyUsage.call(this, oids); } }