Shell 13-09-2024, 12:42
Buenas!.

Hoy he renovado el certificado electrónico mediante la web
Tuve algún que otro problema y tuve que realizar el proceso más de una vez, por lo menos dos veces.

Cuando se te va a caducar el certificado digital suelen enviarte un correo electrónico explicándote como se renueva.
Puedes hacerlo directamente desde la web, si aún tienes un plazo de días. Ojo con eso.

Bueno, ahora la cosa tiene gracia. Intento mostraros el enlace y voy directamente a el y el navegador "ahora"
me da un problema de seguridad con el sitio web. Enlace que antes funcionaba correctamente.
 
Cita:Firefox ha detectado una potencial amenaza de seguridad y no ha continuado a www.sede.fnmt.gob.es porque este sitio web requiere una conexión segura.

¿Qué puede hacer al respecto?

www.sede.fnmt.gob.es tiene una política de seguridad llamada HTTP Strict Transport Security (HSTS), que significa que Firefox solo puede conectarse a él de forma segura. No puede añadir una excepción para visitar este sitio.

El problema está probablemente en el sitio web, y no hay nada que pueda hacer para resolverlo.

Si está en una red corporativa o utilizando un antivirus, puede ponerse en contacto con el equipo de asistencia para obtener ayuda. También puede notificar el problema al administrador del sitio web.

Ventana inferior dice:

Alguien podría estar tratando de suplantar el sitio y usted no debería continuar. Los sitios web prueban su identidad mediante certificados. Firefox no confía en www.sede.fnmt.gob.es porque su emisor del certificado es desconocido, el certificado es autofirmado o el servidor no está enviando los certificados intermediarios correctos.

Tronchante.

Para renovar creo que es mejor usar Chrome ( seleccionarlo como navegador predeterminado ).
Es que si no, os vais a encontrar dos navegadores abierto a la vez. FireFox me dio problemas.
Pero pudo ser por las versiones del software requerido.

Ademas, se necesita dos aplicaciones:

- Autofirma
- Utilidad FNMT de solicitud e instalación de certificados
Y naturalmente Java, versión 11.

Si queréis conocer si lo tenéis instalado ( lo más seguro). Podéis buscar la orden con:

Código:
which java

Y para saber la versión instalada, sencillo.

Código:
java -version

( No sabría deciros si la 11 es "obligatoria"). Imaginar que tenéis instalada una versión superior. ( Propio de desarrolladores ).
No debería dar problemas. Rolleyes

Todo ese  software se puede descargar o te lo enlaza desde la misma web.

En el proceso de la renovación del certificado. Autofirma se me quedo "congelado".
Tenía instalada la versión 1.8.2 y la actualicé a la 1.8.3

El software de solicitud e instalación de certificados, en este equipo no debía estar instalado o era obsoleto.
En su día tenía la versión 1.X y ahora existe la 4.0.X. Las actualice y el proceso de renovación fue bien.
Te envían un mail con un código y vas al proceso de descarga del certificado.

Me dio error al final del proceso de descarga del certificado, más bien cuando la web te dice que lo va a instalar en el navegador.
Pero pude descargar a tiempo el certificado (sin problemas) y la contraseña la tenía de antes.  ( Esa te la va a pedir varias veces )

Como podéis suponer todo este software ( al menos Autofirma) depende de "Java". Versión 11.X
Sigo encontrándole "problemillas" cada vez que renuevo el certificado.
No se olviden de actualizar ese software y que su versión de Java sea como mínimo la 11.

Clave tiene a veces sus limitaciones.

Os cuento, solicité Clave para mi madre, no sé que historia tuve que no podía realizar ciertas operaciones
desde la web dedicada de los centros médicos en Andalucía. Click Salud (es la aplicación)
pero también existe su página web.

Digamos que con Clave puedes solicitar cita médica, pero no puedes ver datos del paciente.
Es una limitación que tiene Clave. En este caso, es como si usases el dni o el número de la
seguridad social. Para algunas partes de la web, no era suficiente.

Saludos
tincho 12-09-2024, 13:39
Hola.
Hace un momento hice una prueba, le pedi a ChatGPT que me escribiera una biblioteca compartida en C que a su vez usa la librería LibreDWG y el resultado fue:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <libredwg.h>

const char* list_blocks(const char* filename) {
static char result[4096];
DWG_Data *dwg;
int i;

// Inicializa la biblioteca
dwg = dwg_read(filename);
if (!dwg) {
return "Error reading DWG file.";
}

// Recorre los bloques y crea una lista
result[0] = '\0';
for (i = 0; i < dwg->num_blocks; i++) {
strcat(result, dwg->blocks[i].name);
strcat(result, "\n");
}

// Limpia
dwg_free(dwg);

return result;
}

Por supuesto no funciono, por un lado en mi sistema no existe libredwg.h, pero se puede descargar el código fuente:
https://github.com/LibreDWG/libredwg
A ver si algún experto en C tiene ganas de experimentar un poco con esta herramienta.

Luego en el codigo fuente se puede ver un ejemlo que lista, en lugar de los "Blocks", los "Layers"

Código:
/*****************************************************************************/
/*  LibreDWG - free implementation of the DWG file format                    */
/*                                                                           */
/*  Copyright (C) 2018-2019 Free Software Foundation, Inc.                   */
/*                                                                           */
/*  This library is free software, licensed under the terms of the GNU       */
/*  General Public License as published by the Free Software Foundation,     */
/*  either version 3 of the License, or (at your option) any later version.  */
/*  You should have received a copy of the GNU General Public License        */
/*  along with this program.  If not, see <http://www.gnu.org/licenses/>.    */
/*****************************************************************************/

/*
 * dwglayers.c: print list of layers in a DWG
 *
 * written by Reini Urban
 */

#include "../src/config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <getopt.h>
#ifdef HAVE_VALGRIND_VALGRIND_H
#  include <valgrind/valgrind.h>
#endif

#include <dwg.h>
#include "common.h"
#include "bits.h"
#include "logging.h"

static int
usage (void)
{
  printf ("\nUsage: dwglayers [-f|--flags] [--on] <input_file.dwg>\n");
  return 1;
}
static int
opt_version (void)
{
  printf ("dwglayers %s\n", PACKAGE_VERSION);
  return 0;
}
static int
help (void)
{
  printf ("\nUsage: dwglayers [OPTION]... DWGFILE\n");
  printf ("Print list of layers.\n"
          "\n");
#ifdef HAVE_GETOPT_LONG
  printf ("  -x, --extnames            prints EXTNAMES (r13-r14 only)\n"
          "                i.e. space instead of _\n");
  printf ("  -f, --flags               prints also flags:\n"
          "                3 chars for: f for frozen, + or - for ON or OFF, l "
          "for locked\n");
  printf ("  -o, --on                  prints only ON layers\n");
  printf ("  -h, --help                display this help and exit\n");
  printf ("      --version             output version information and exit\n"
          "\n");
#else
  printf ("  -x            prints EXTNAMES (r13-r14 only)\n"
          "                i.e. space instead of _\n");
  printf ("  -f            prints also flags:\n"
          "                3 chars for: f for frozen, + or - for ON or OFF, l "
          "for locked\n");
  printf ("  -o            prints only ON layers\n");
  printf ("  -h            display this help and exit\n");
  printf ("  -i            output version information and exit\n"
          "\n");
#endif
  printf ("GNU LibreDWG online manual: "
          "<https://www.gnu.org/software/libredwg/>\n");
  return 0;
}

int
main (int argc, char *argv[])
{
  int error;
  long i = 1;
  int flags = 0, on = 0, extnames = 0;
  char *filename_in;
  Dwg_Data dwg;
  Dwg_Object *obj;
  Dwg_Object_LAYER *layer;
  Dwg_Object_LAYER_CONTROL *_ctrl;
  int c;
#ifdef HAVE_GETOPT_LONG
  int option_index = 0;
  static struct option long_options[] = { { "flags", 0, 0, 'f' },
                                          { "extnames", 0, 0, 'x' },
                                          { "on", 0, 0, 'o' },
                                          { "help", 0, 0, 0 },
                                          { "version", 0, 0, 0 },
                                          { NULL, 0, NULL, 0 } };
#endif

  while
#ifdef HAVE_GETOPT_LONG
      ((c = getopt_long (argc, argv, "xfoh", long_options, &option_index))
       != -1)
#else
      ((c = getopt (argc, argv, "xfohi")) != -1)
#endif
    {
      if (c == -1)
        break;
      switch (c)
        {
#ifdef HAVE_GETOPT_LONG
        case 0:
          if (!strcmp (long_options[option_index].name, "version"))
            return opt_version ();
          if (!strcmp (long_options[option_index].name, "help"))
            return help ();
          break;
#else
        case 'i':
          return opt_version ();
#endif
        case 'x':
          extnames = 1;
          break;
        case 'f':
          flags = 1;
          break;
        case 'o':
          on = 1;
          break;
        case 'h':
          return help ();
        case '?':
          fprintf (stderr, "%s: invalid option '-%c' ignored\n", argv[0],
                   optopt);
          break;
        default:
          return usage ();
        }
    }
  i = optind;
  if (i >= argc)
    return usage ();

  filename_in = argv[i];
  memset (&dwg, 0, sizeof (Dwg_Data));
  error = dwg_read_file (filename_in, &dwg);
  if (error >= DWG_ERR_CRITICAL)
    fprintf (stderr, "READ ERROR %s: 0x%x\n", filename_in, error);

  obj = dwg_get_first_object (&dwg, DWG_TYPE_LAYER_CONTROL);
  _ctrl = obj->tio.object->tio.LAYER_CONTROL;
  for (i = 0; i < _ctrl->num_entries; i++)
    {
      char *name;
      assert (_ctrl->entries);
      assert (_ctrl->entries[i]);
      obj = _ctrl->entries[i]->obj;
      if (!obj || obj->type != DWG_TYPE_LAYER) // can be DICTIONARY also
        continue;
      assert (_ctrl->entries[i]->obj->tio.object);
      layer = _ctrl->entries[i]->obj->tio.object->tio.LAYER;
      if (on && (!layer->on || layer->frozen))
        continue;
      if (flags)
        printf ("%s%s%s\t", layer->frozen ? "f" : " ", layer->on ? "+" : "-",
                layer->locked ? "l" : " ");
      if (extnames && dwg.header.from_version >= R_13 && dwg.header.from_version < R_2000)
        {
          if (!(name = dwg_find_table_extname (&dwg, obj)))
            name = layer->name;
        }
      else
        name = layer->name;
      // since r2007 unicode, converted to utf-8
      if (dwg.header.from_version >= R_2007)
        {
          char *utf8 = bit_convert_TU ((BITCODE_TU)name);
          printf ("%s\n", utf8);
          free (utf8);
        }
      else
        printf ("%s\n", name);
      fflush (stdout);
    }

  // forget about valgrind. really huge DWG's need endlessly here.
  if ((dwg.header.version && dwg.num_objects < 1000)
#if defined __SANITIZE_ADDRESS__ || __has_feature(address_sanitizer)
      || 1
#endif
#ifdef HAVE_VALGRIND_VALGRIND_H
      || (RUNNING_ON_VALGRIND)
#endif
  )
    dwg_free (&dwg);
  return error >= DWG_ERR_CRITICAL ? 1 : 0;
}
Shell 09-09-2024, 12:50
Buenas!.

A veces páginas que pertenecen a las administraciones u organizaciones se encuentran con este problema.
Hoy por ejemplo fui a ver la página del campus de teleformacion del instituto de fomento, empleo y formación ( IFEF )
y tiene este problema.

A veces los usuarios poco sabemos sobre los problemas de un certificado SSL caducado ó los riesgos que conlleva
y más.

Nota:
 
Cita: 
Internet es un entorno que cambia rápidamente y en el que un año equivale a 5 en el mundo real. Las empresas van y vienen, cada día surgen nuevas tendencias y nuevas normativas sustituyen regularmente a las directivas anteriores. Antiguamente, los certificados SSL tenían una validez de cinco años, luego se acortó a tres, dos y, finalmente, se fijó en sólo un año.

¿ Solo un año ?.  Confused

¿Qué ocurre cuando caduca un certificado SSL?

Saludos
Páginas (520):    1 13 14 15 16 17 520   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 264
Último miembro: NEURO
Temas del foro: 1,595
Mensajes del foro: 8,333
Últimos temas
Ver los repositorios del ...
Foro: Mundo Linux
Último mensaje por: Shell, Hace 1 hora
Respuestas: 3 - Vistas: 35
Antiguo foro. ¿ Viable ?
Foro: Sobre gambas-es.org
Último mensaje por: guizans, Hace 2 horas
Respuestas: 1 - Vistas: 27
¿Cómo crear servidor FTP ...
Foro: General
Último mensaje por: Shordi, Ayer, 12:19
Respuestas: 2 - Vistas: 53
TextEditor. Formateado. E...
Foro: General
Último mensaje por: Shell, 21-01-2025, 14:33
Respuestas: 2 - Vistas: 40
Gambas 3.20
Foro: Instalación
Último mensaje por: Shell, 21-01-2025, 14:32
Respuestas: 11 - Vistas: 294
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.