Documentación de la Aplicación OpenPGP GUI

Bienvenido a la documentación oficial de la Aplicación OpenPGP GUI.

Visión General

Esta aplicación proporciona una interfaz moderna y fácil de usar para la gestión de claves OpenPGP, cifrado, descifrado, firma de mensajes, verificación y generación de certificados SSL. Todas las operaciones criptográficas se realizan localmente para garantizar la máxima privacidad.

Características

Comenzando

Requisitos

Nota: La aplicación ha sido migrada de Tkinter/ttkbootstrap a PySide6 para una interfaz de usuario más moderna y mantenible.

Instalación

  1. Clona o descarga este repositorio.
  2. (Opcional) Crea un entorno virtual:
    python -m venv venv
    venv\Scripts\activate
    
  3. Instala las dependencias:
    pip install -r requirements.txt
    

Ejecutando la Aplicación

Ejecuta desde la raíz del proyecto:

python main.py

Si ves errores de importación, asegúrate de estar ejecutando desde la raíz y no desde una subcarpeta.

Guía del Usuario

Vista General de la Ventana Principal

Barra de Menú

Registro y Visor de Registros

Consejos

Uso Avanzado

Exportando Claves Públicas

Verificación de Huella Digital

Generación de Certificados SSL

Extendiendo la Aplicación

Registro y Depuración

Solución de Problemas

Guía del Desarrollador

¡Bienvenido, desarrollador! Esta guía proporciona lo esencial para contribuir y extender la Aplicación OpenPGP GUI.


Estructura del Proyecto

Tecnologías Clave

Cómo Contribuir

  1. Haz un fork y clona el repositorio.
  2. Crea un entorno virtual e instala las dependencias.
  3. Sigue PEP8 y mantén el código modular.
  4. Documenta nuevas características y actualiza CHANGELOG.md.
  5. Añade o actualiza pruebas si es posible.
  6. Abre una solicitud de extracción con una descripción clara.

Añadiendo Características

Pruebas

Estilo de Código

Registro y Depuración

Soporte y Preguntas


Temas Avanzados

Referencia de la API

La aplicación es modular: la lógica principal está en struttura/, la interfaz gráfica en gui/.

Clases y funciones principales:

Para más información, lee los docstrings en el código y consulta docs/user_guide.md para el flujo de uso.

Ejemplos de Extensión

Añadir un Nuevo Algoritmo de Clave

  1. En gui/main_window.py, localiza el menú desplegable de selección de algoritmo.
  2. Añade tu nuevo algoritmo (ej. ECC, Ed25519) a las opciones del menú.
  3. En la lógica de generación de claves, implementa el manejo para el nuevo algoritmo usando pgpy.
  4. Prueba exhaustivamente y actualiza la documentación.

Añadir un Widget Personalizado

  1. Crea tu widget en gui/widgets.py o en un archivo nuevo.
  2. Impórtalo y úsalo en main_window.py donde sea necesario.
  3. Sigue las convenciones de estilo de ttkbootstrap para mantener la consistencia.

Diagrama de Arquitectura

A continuación se muestra una descripción general de la arquitectura en texto simple:

Aplicación OpenPGP GUI
│
├── main.py (punto de entrada)
│
├── gui/
│   ├── main_window.py (clase MainWindow, lógica de eventos)
│   ├── widgets.py (widgets personalizados)
│   └── ...
│
├── struttura/
│   ├── help.py, about.py, version.py (diálogos, control de versiones)
│   ├── menu.py (lógica de la barra de menú)
│   └── ...
│
├── docs/ (documentación)
├── requirements.txt
└── ...

Para un diagrama visual, consulta docs/architecture.png (añade tu propio PNG para más detalle).

Preguntas Frecuentes

P: ¿Puedo usar esta aplicación sin conexión a internet?
R: ¡Sí! Todas las operaciones criptográficas se realizan localmente para garantizar la privacidad.

P: ¿Cómo exporto mi clave pública?
R: Usa el botón ‘Exportar Clave Pública’ o la opción en el menú Archivo.

P: ¿Qué algoritmos son compatibles?
R: Actualmente RSA; próximamente se añadirán más (ECC, Ed25519).

P: ¿Dónde se guardan mis claves?
R: Las claves se guardan solo donde tú elijas. No hay subidas automáticas ni almacenamiento en la nube.

P: ¿Cómo obtengo ayuda?
R: Usa el menú Ayuda o lee la documentación en la carpeta docs/.