--------------------------------------------------------------
          GICriptoEngine (c)2016, Giovanni Iacobelli
--------------------------------------------------------------

web: http://www.iacosoft.com

e-mail: info@iacosoft.com
giiac@hotmail.com

--------------------------------------------------------------
DESCRIZIONE

GICriptoEngine  un tool per la linea  di comando che consente
di criptare file con chiavi simmetriche e chiavi  asimmetriche

--------------------------------------------------------------
REQUISITI

GICriptoEngine per poter essere eseguito  richiede la presenza 
del Framework .NET 4.0 o versione successiva.

--------------------------------------------------------------
LINEA DI COMANDO

GICriptoEngine.exe [Comando] file_sorgente file_destinazione

 Elenco Comandi:
 -c             cripta
 -d             decripta
 -f             crea il file di firma del documento
 -vf            verifica il file di firma del documento
 -k <dir> <pwd> crea la coppia di chiavi asimmetriche
 -p <password>  imposta la password simmetrica per
                criptare/decriptare il file
 -cert <..>     pathname del certificato x.509 o soggetto
                per il recupero dallo store (cn=miocert)
 -pc <password> imposta la password per aprire il certificato
 -key <..>      pathname della chiave asimmetrica
 -pk <password> imposta la password per aprire la chiave 
                asimmetrica
 -info          visualizza le informazioni sul programma

--------------------------------------------------------------
USO

Criptaggio con chiave simmetrica

Nella cifratura con chiave simmetrica la stessa password verr 
usata sia per criptare che per decriptare.

Il  seguente  comando  cripta  il  file  c:\dati.txt usando la 
password 12345678

GICriptoEngine.exe -c -p 12345678 c:\dati.txt

per  decriptare   necessario usare  il comando -d:

GICriptoEngine.exe -d -p 12345678 c:\dati.txt

Per  criptare  il  file  in  un  altro  file lasciando il file 
originale non modificato:

GICriptoEngine.exe -c -p 12345678 c:\dati.txt c:\daticriptati.txt

Se  si tenta di decriptare un file  non criptato o di criptare 
un file gi criptato verr generato un errore.


Criptaggio con chiave asimmetrica

Nella cifratura  con chiavi  asimmetriche  si disporr  di due   
chiavi di cui una privata e una pubblica.  La  chiave pubblica 
verr usata per criptare e la chiave privata per decriptare.

Il seguente comando crea la coppia di chiavi:

GICriptoEngine.exe -k c:\keys 12345678

Nella cartella c:\keys  verranno create le chiavi asimmetriche 
contenute nei rispettivi file:

C:\keys\privateKey.txt 
C:\keys\publicKey.txt

12345678  la password che verr usata  per criptare la chiave 
privata. L'impostazione della password non  obbligatoria.

Se  la  cartella  destinazione   non   esiste  o  la  cartella 
destinazione  contiene  gi  delle  chiavi  verr  generato un 
errore.

Il seguente comando cripta il file con chiave asimmetrica:

GICriptoEngine.exe -c -key c:\keys\publickey.txt c:\dati.txt

Per  decriptare  bisogner  usare  la chiave  privata protetta 
dalla password 12345678:

GICriptoEngine.exe -d -key c:\keys\privatekey.txt c:\dati.txt -pk 12345678

I certificati x.509 contengono nel loro interno  una coppia di 
chiavi asimmetriche o almeno la chiave pubblica.

Il  seguente  comando  mostra  come criptare  il file dati.txt 
tramite  la   chiave   pubblica   contenuta   nel  certificato 
newCert.cer

GICriptoEngine.exe -c -cert c:\newCert.cer c:\dati.txt

Tramite  la  chiave  privata  del  certificato  sar possibile 
decriptare il file.        Il certificato contenente la chiave 
privata  protetto dalla password 12345678

GICriptoEngine.exe -d -cert c:\newCert.pfx c:\dati.txt -pc 12345678

Il seguente comando cripta il file con il certificato 
archiviato nello store del computer.

GICriptoEngine.exe -c -cert cn=www.miosito.it c:\dati.txt

La  ricerca  viene  effettuata  nell'archivio  personale dell'
utente  loggato   e  in  caso  negativo  estesa  all' archivio 
personale del computer locale.

Il vantaggio  di usare un certificato archiviato nello store e 
che per decriptare il testo non occorre inserire la password.

GICriptoEngine.exe -d -cert cn=www.miosito.it c:\dati.txt


Generazione Firma e validazione

Tramite  la  chiave  privata   possibile  generare il file di 
firma di un determinato file.

GICriptoEngine.exe -f -key c:\keys\privateKey.txt -pk 12345678 c:\dati.txt c:\firma.txt

GICriptoEngine.exe -f -cert c:\newcert.pfx -pc 12345678 c:\dati.txt c:\firma.txt

GICriptoEngine.exe -f -cert cn=astroifcert.rfi.it -pc Passw0rd c:\dati.txt c:\firma.txt

per la verifica  necessario usare la chiave pubblica:

GICriptoEngine.exe -vf -key c:\keys\publicKey.txt c:\dati.txt c:\firma.txt

GICriptoEngine.exe -vf -cert c:\newcert.cer c:\dati.txt c:\firma.txt

GICriptoEngine.exe -vf -cert cn=astroifcert.rfi.it c:\dati.txt c:\firma.txt

--------------------------------------------------------------
LOCALIZZAZIONE

Per  il  settaggio della lingua  occorre impostare il file  di 
localizzazione nella chiave

<setting name="LanguageFile" serializeAs="String">
         <value>msg_it.ini</value>
</setting>

del file di configurazione GICriptoEngine.exe.config

I file di localizzazione disponibili sono i seguenti:

 mgs_it.ini  -> lingua l'italiano
 msg_eng.ini -> lingua Inglese

--------------------------------------------------------------
Distribuzione & Garanzie

Questo programma appartiene alla categoria FREEWARE. 
Ci significa che pu essere copiato e distribuito liberamente 
ma non pu  essere venduto  tranne una piccola somma di denaro 
per ripagare  le spese  di copia e di distribuzione.  
L'autore conserva sul programma tutti i diritti e  ne pu fare 
tutto ci che vuole (compreso venderlo). 

Il programma  pu essere usato liberamente  da chiunque  senza 
alcun costo: il programma  gratuito.

Pu essere liberamente distribuito dalle riviste d'informatica 
che  accludono  alla  testata  CD-Rom  contenenti  raccolte di 
programmi Shareware, Freeware e/o Public Domain.

Pu essere  liberamente  distribuito  da  siti  WEB di archivi 
software sia HTTP che FTP.

Non  pu essere incluso  in propri pacchetti commerciali senza 
l'autorizzazione scritta dell'Autore.

L'autore pu fare tutto ci che vuole.

Data la natura puramente amatoriale del software, l'autore non 
garantisce il perfetto funzionamento dello stesso. 
Non si riterr e non sar,  in nessun caso,  responsabile  dei 
danni  di qualsiasi genere,  diretti  o indiretti,  dovuti  al 
programma o al suo cattivo funzionamento. 

OGNUNO  USI  QUESTO   SOFTWARE   ASSUMENDOSI  TUTTI  I  RISCHI 
E I PERICOLI!!!! 

Se l'utente non accetta le presenti condizioni o parte di esse
dovr  smettere di usare il programma e disinstallarlo dal suo
sistema. 

--------------------------------------------------------------
 