Documentazione dell’App OpenPGP GUI

Benvenuto nella documentazione ufficiale di OpenPGP GUI App.

Panoramica

Questa applicazione fornisce un’interfaccia moderna e intuitiva per la gestione delle chiavi OpenPGP, crittografia, decrittografia, firma di messaggi, verifica e generazione di certificati SSL. Tutte le operazioni crittografiche vengono eseguite localmente per garantire la massima privacy.

Funzionalità

Guida Rapida

Requisiti

Nota: L’applicazione è stata migrata da Tkinter/ttkbootstrap a PySide6 per un’interfaccia utente più moderna e mantenibile.

Installazione

  1. Clona o scarica questo repository.
  2. (Facoltativo) Crea un ambiente virtuale:
    python -m venv venv
    venv\Scripts\activate
    
  3. Installa le dipendenze:
    pip install -r requirements.txt
    

Esecuzione dell’App

Esegui dalla radice del progetto:

python main.py

Se vedi errori di importazione, assicurati di eseguire dalla radice e non da una sottocartella.

Guida Utente

Panoramica della Finestra Principale

Barra dei Menu

Registrazione e Visualizzatore Log

Suggerimenti

Utilizzo Avanzato

Esportazione Chiavi Pubbliche

Verifica dell’Impronta Digitale

Generazione Certificati SSL

Estensione dell’Applicazione

Registrazione e Debug

Risoluzione dei Problemi

Guida per Sviluppatori

Benvenuto, sviluppatore! Questa guida fornisce le informazioni essenziali per contribuire e estendere l’App OpenPGP GUI.


Struttura del Progetto

Tecnologie Chiave

Come Contribuire

  1. Effettua un fork e clona il repository.
  2. Crea un ambiente virtuale e installa le dipendenze.
  3. Segui le linee guida PEP8 e mantieni il codice modulare.
  4. Documenta le nuove funzionalità e aggiorna CHANGELOG.md.
  5. Aggiungi o aggiorna i test se possibile.
  6. Apri una pull request con una descrizione chiara.

Aggiunta di Funzionalità

Test

Stile del Codice

Registrazione e Debug

Supporto e Domande


Argomenti Avanzati

Riferimento API

L’applicazione è modulare: la logica principale è in struttura/, l’interfaccia grafica in gui/.

Classi e funzioni principali:

Per maggiori informazioni, leggi i docstring nel codice e consulta docs/user_guide.md per il flusso di utilizzo.

Esempi di Estensione

Aggiunta di un Nuovo Algoritmo di Chiave

  1. In gui/main_window.py, individua il menu a tendina per la selezione dell’algoritmo.
  2. Aggiungi il tuo nuovo algoritmo (es. ECC, Ed25519) alle opzioni del menu a tendina.
  3. Nella logica di generazione delle chiavi, implementa la gestione per il nuovo algoritmo utilizzando pgpy.
  4. Esegui test accurati e aggiorna la documentazione.

Aggiunta di un Widget Personalizzato

  1. Crea il tuo widget in gui/widgets.py o in un nuovo file.
  2. Importalo e utilizzalo in main_window.py dove necessario.
  3. Segui le convenzioni di stile ttkbootstrap per la coerenza.

Diagramma Architetturale

Di seguito una panoramica testuale dell’architettura:

OpenPGP GUI App
│
├── main.py (punto di ingresso)
│
├── gui/
│   ├── main_window.py (classe MainWindow, logica eventi)
│   ├── widgets.py (widget personalizzati)
│   └── ...
│
├── struttura/
│   ├── help.py, about.py, version.py (finestre di dialogo, gestione versioni)
│   ├── menu.py (logica barra dei menu)
│   └── ...
│
├── docs/ (documentazione)
├── requirements.txt
└── ...

Per un diagramma visivo, vedi docs/architecture.png (aggiungi il tuo PNG per maggiori dettagli).

Domande Frequenti

D: Posso usare questa app senza connessione internet?
R: Sì! Tutte le operazioni crittografiche vengono eseguite localmente per la privacy.

D: Come posso esportare la mia chiave pubblica?
R: Usa il pulsante ‘Esporta Chiave Pubblica’ o la voce di menu nel menu File.

D: Quali algoritmi sono supportati?
R: Attualmente RSA; altri (ECC, Ed25519) sono in programma.

D: Dove vengono memorizzate le mie chiavi?
R: Le chiavi vengono salvate solo dove decidi tu. Nessun caricamento automatico o archiviazione cloud.

D: Come posso ottenere aiuto?
R: Usa il menu Aiuto o leggi la documentazione nella cartella docs/.