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

web: http://www.iacosoft.com

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

--------------------------------------------------------------
DESCRIPTION

GICriptoEngine  is  a  tool  for  the command line allowing to
encrypt files with symmetric and asymmetric keys

--------------------------------------------------------------
REQUIREMENTS

GICriptoEngine  requires  the  presence the .NET Framework 4.0
or later.

--------------------------------------------------------------
COMMAND LINE

GICriptoEngine.exe [Command] source_file dest_file

Commands list:
-c              crypt
-d              decrypts
-f              creates the signing of the document file
-vf             verify the signature of the document file
-k <dir> <pwd>  creates the asymmetric key pair
-p <password>   Sets the password for symmetric
                 encrypt / decrypt the file
-cert <..>      pathname of the x.509 certificate or subject
                 to recover from the store (cn = miocert)
-pc <password>  Sets the password to open the certificate
-key <..>       pathname of the asymmetric key
-pk <password>  Sets the password to open the key
                 asymmetric
-info           displays program information

--------------------------------------------------------------
USE

Encryption with symmetric key

In symmetric key encryption  with  the  same password  will be
used for both encryption and decryption.

The following  command  encrypts  the  file c:\data.txt  using
the password 12345678

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

to decrypt it is necessary to use the -d command:

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

To encrypt  the file  in  a different  file  leaving  the file
original unmodified:

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

If you try to decrypt an decrypted file  or encrypt an already
encrypted file will generate an error.


Encryption with asymmetric key

In asymmetric  encryption keys you will have two keys of which
one private and one public.     The public key will be used to
encrypt and the private key to decrypt.

The following command creates the key pair:

GICriptoEngine.exe -k c:\keys 12345678

In the c:\keys asymmetric  keys are created contained in their
files:

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

12345678 is the password that will  be used to encrypt the key
private. The password setting is not mandatory.

If the destination folder does not exist or folder destination
already contains the keys will be generated error.

The following command encrypts the files with asymmetric key:

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

Must be used to decrypt the private key:

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

The x.509  certificates  contain  in their interior  a pair of
asymmetric keys or at least the public key.

The following command shows how  to encrypt the file  data.txt
using the public key  contained in the certificate newCert.cer

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

Using  the private key  of the  certificate can be decrypt the
file.

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

The following command  encrypts  the file with the certificate
stored in the computer store.

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

The  search  is  performed  in the personal archive of Current
User and in the archive the local computer.

The advantage  of  using  a certificate stored in the store is
that it is not required to decrypt the password

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

Signature generation and validation

Using  the  private key file  you can generate  signature of a
particular file.

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

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

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

to test you must use the public key:

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

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

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

--------------------------------------------------------------
LOCALIZATION

For the language setting set the localization file in the key
of the configuration file GICriptoEngine.exe.config


           msg_it.ini


The localization files available are:

mgs_it.ini ->  Italian language
msg_eng.ini -> English language

--------------------------------------------------------------
DISTRIBUTION AND GUARANTEES

This program belongs to the category FREEWARE.
This  means  it can be freely copied and distributed but it can
not  be  sold   except  for a small amount of money  to pay the
copying and distribution expenses.
The  author retains all rights  to  the  program  and it can do
all it wants (including selling it).

The program  can be used freely  by anyone without no cost: the
program is free.

It  may  be  freely  distributed  by  the   computer  magazines
enclosing the CD-Rom containing  magazine  collections programs
Shareware, Freeware and / or Public Domain

It  may  be freely  distributed  into  archives  sites software
(HTTP or FTP).

It can not  be included  in their commercial  packages  without
the author's written permission.

The author can do whatever he wants.

Given the purely amateur nature of the software, the author
not ensures perfect functioning.

It  will  not  be  considered  and  will  not  be,   under  any
circumstances,  responsible  for damages of any kind, direct or
indirect, due to program or its malfunction.

EVERYONE USES THIS SOFTWARE ASSUMES ALL RISKS AND THE DANGERS !!!!

If you do not accept these terms and conditions or any of them
You should stop using the program and uninstall  it  from  her
system.

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