Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }