import { EventEmitter } from '@angular/core'; import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { LocalDateTimeService } from '@evomatik/evk-common'; import { OcspConfig } from "../componentes/config/ocsp-config"; import * as i0 from "@angular/core"; export declare class FirmaElectronicaService { http: HttpClient; private ocspConfig; localDateTimeService: LocalDateTimeService; constructor(http: HttpClient, ocspConfig: OcspConfig, localDateTimeService: LocalDateTimeService); private ocspEnable; private host; private rfc; private password; private certificado; private llaveprivada; private hash; private signedMessageEncode; private cadenaOriginal; validacion: ResultadoValidacionCertificadoFirmaElectronica; loading: EventEmitter; private today; /** * Paso 1: Validación de vigencia del certificado */ private paso1; /** * Paso 2: Validación del password de la llave privada */ private paso2; /** * Paso 3: Validación del RFC del certificado */ private paso3; /** * Paso 4: Extraer el número serial del certificado. */ private paso4; /** * Paso 5: Validar OCSP */ private paso5; /** * Paso 6: Realizar Hash de la cadena original (Firma) */ private paso6; /** * Realiza el proceso de validación del certificado digital de acuerdo a los pasos establecidos por el SAT. * @param certificado * @param key * @param password * @param hash * @param rfc */ validarCertificado: (certificado: any, key: any, password: string, hash: string, signedMessageEncode: string, rfc: string, cadenaOriginal: string) => Observable>; /** * Petición al OCSP para validar el certificado */ private validarOCSP; /** Valida que la llave privada corresponda al certificado, el mensaje es firmado con el key, al validar la firma con * la llave publica del certificado indica si se uso el key correspondiente */ private validaKeyCertificate; /** * Realiza la firma del hash del mensaje de la cadena origial */ private generarFirmarHash; /** * Obtien el número serial del certificado */ private getSerialNumber; /** * Valida el RFC del usuario con el dato contenido en el certificado * @param param0 */ private validaRfcFromPem; /** * Valida la contraseña de la llave privada */ private checkPrivateKey; /** * * @param certArrayBuffer */ private getAsn1Object; /** * * @param certArrayBuffer */ private getPEMCertificate; /** * * @param keyArrayBuffer */ private getPEMKey; private doSign; /** * Petición al OCSP * @param arrayBuffer */ private verificarCertificado; /** * * @param pem */ private convertPemToBinary; /** * * @param b64str */ private base64StringToArrayBuffer; /** * * @param certificateBuffer */ private printCertificate; private pemToForgeCert; /** * */ getLoadingEmitter(): EventEmitter; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Obteto del resultado de la validación */ export declare class ResultadoValidacionCertificadoFirmaElectronica { serial: string; rfc: string; mensaje: string; isValido: boolean; firma: string; cadenaOriginal: string; fechaHoraCertificado: string; }