public void InsertCerFiles() { try { byte[] fileCer = null; byte[] fileKey = null; Stream streamCer = OpenFile(ArchivoCer); using (MemoryStream memoryStreamCer = new MemoryStream()) { streamCer.CopyTo(memoryStreamCer); fileCer = memoryStreamCer.ToArray(); } Stream streamKey = OpenFile(ArchivoKey); using (MemoryStream memoryStreamKey = new MemoryStream()) { streamKey.CopyTo(memoryStreamKey); fileKey = memoryStreamKey.ToArray(); } using (Models.AsimiladosEntitiesCertificados cr = new Models.AsimiladosEntitiesCertificados()) { string path = AppDomain.CurrentDomain.BaseDirectory; string folder = path + @"Certificados\" + nombreEmpresa.Trim() + @"\"; string fullFilePathCer = folder + NombreArchivoCer; string fullFilePathKey = folder + NombreArchivoKey; Parametros.ARCHIVO_CER = fullFilePathCer; Parametros.ARCHIVO_KEY = fullFilePathKey; Models.CertificadosDigitales cer = new Models.CertificadosDigitales(); cer.cerNombre = NombreArchivoCer; cer.cerNum = Parametros.NUMERO_CERTIFICADO; cer.cerFechaVencimiento = Convert.ToDateTime(Parametros.FECHA_VENCIMIENTO_CERTIFICADO); cer.cerAsunto = Parametros.ASUNTO_CERTIFICADO; cer.cerPath = fullFilePathCer; cer.cerArchivo = fileCer; cer.cerKeyNombre = NombreArchivoKey; cer.cerKeyArchivo = fileKey; cer.cerKeyPath = fullFilePathKey; cer.cerNombreEmpresa = Parametros.NombreEmpresa; cer.cerRFCEmpresa = Parametros.RFC; cer.cerNominaEmpresaID = Controlador.GetNewIDEmpresa(); cer.cerFechaCarga = DateTime.Now; cer.cerUsuarioCarga = usuarioSistema; cr.CertificadosDigitales.Add(cer); cr.SaveChanges(); } } catch (Exception) { throw; } }
private void UpdateCerKey() { try { byte[] fileCer = null; byte[] fileKey = null; Stream streamCer = OpenFile(ArchivoCer); using (MemoryStream memoryStreamCer = new MemoryStream()) { streamCer.CopyTo(memoryStreamCer); fileCer = memoryStreamCer.ToArray(); } Stream streamKey = OpenFile(ArchivoKey); using (MemoryStream memoryStreamKey = new MemoryStream()) { streamKey.CopyTo(memoryStreamKey); fileKey = memoryStreamKey.ToArray(); } int IDCerKey = controlador.GetCerKeyID(RFCEmpr); using (Models.AsimiladosEntitiesCertificados cr = new Models.AsimiladosEntitiesCertificados()) { var certificado = cr.CertificadosDigitales.FirstOrDefault(b => b.cerID == IDCerKey); if (certificado != null) { string path = AppDomain.CurrentDomain.BaseDirectory; string folder = path + @"Certificados\" + @"\" + nombreEmpresa + @"\"; string fullFilePathCer = folder + NombreArchivoCer; string fullFilePathKey = folder + NombreArchivoKey; if (File.Exists(certificado.cerPath)) { File.Delete(certificado.cerPath); } if (File.Exists(certificado.cerKeyPath)) { File.Delete(certificado.cerKeyPath); } certificado.cerNombre = NombreArchivoCer; certificado.cerNum = parametros.NUMERO_CERTIFICADO; certificado.cerFechaVencimiento = Convert.ToDateTime(parametros.FECHA_VENCIMIENTO_CERTIFICADO); certificado.cerAsunto = parametros.ASUNTO_CERTIFICADO; certificado.cerPath = fullFilePathCer; certificado.cerArchivo = fileCer; certificado.cerKeyNombre = NombreArchivoKey; certificado.cerKeyArchivo = fileKey; certificado.cerKeyPath = fullFilePathKey; certificado.cerNombreEmpresa = parametros.NombreEmpresa; certificado.cerRFCEmpresa = parametros.RFC; certificado.cerNominaEmpresaID = controlador.GetIDEmpresa(parametros.RFC); certificado.cerFechaCarga = DateTime.Now; certificado.cerUsuarioCarga = usuarioSistema; cr.SaveChanges(); controlador.GenerarCerKey(certificado.cerRFCEmpresa); } else { Models.CertificadosDigitales cer = new Models.CertificadosDigitales(); string path = AppDomain.CurrentDomain.BaseDirectory; string folder = path + @"Certificados\" + nombreEmpresa.Trim() + @"\"; string fullFilePathCer = folder + NombreArchivoCer; string fullFilePathKey = folder + NombreArchivoKey; parametros.ARCHIVO_CER = fullFilePathCer; parametros.ARCHIVO_KEY = fullFilePathKey; cer.cerNombre = NombreArchivoCer; cer.cerNum = parametros.NUMERO_CERTIFICADO; cer.cerFechaVencimiento = Convert.ToDateTime(parametros.FECHA_VENCIMIENTO_CERTIFICADO); cer.cerAsunto = parametros.ASUNTO_CERTIFICADO; cer.cerPath = fullFilePathCer; cer.cerArchivo = fileCer; cer.cerKeyNombre = NombreArchivoKey; cer.cerKeyArchivo = fileKey; cer.cerKeyPath = fullFilePathKey; cer.cerNombreEmpresa = parametros.NombreEmpresa; cer.cerRFCEmpresa = parametros.RFC; cer.cerNominaEmpresaID = controlador.GetIDEmpresa(parametros.RFC); cer.cerFechaCarga = DateTime.Now; cer.cerUsuarioCarga = usuarioSistema; cr.CertificadosDigitales.Add(cer); cr.SaveChanges(); controlador.GenerarCerKey(parametros.RFC); } } } catch (Exception ec) { throw; } }