Usage:
  nenctool [options] <source-file-path> <destination-file-path>

Summary:
  Copy a file from the first parameter to the second parameter
  Encryption, decryption, or re-encryption are the expected purpose.

Parameters:
  source-file-path                 The path to a file either in native format
  destination-file-path            in 'file' URI scheme or in 'ncbi-file'
                                   URI scheme.
                                   "ncbi-file" scheme adds a query to the "file" scheme
                                   where 'enc' or 'encrypt' means the file is encrypted
                                   and 'pwfile=<path>' points to a file to get the password
                                   or 'pwfd=<fd>' refers to a file descriptor from which to
                                   read a password.

Options:
  -f|--force                       force overwrite of existing files 
  -h|--help                        Output brief explantion for the program. 
  -V|--version                     Display the version of the program then 
                                   quit. 
  -L|--log-level <level>           Logging level as number or enum string. One 
                                   of (fatal|sys|int|err|warn|info) or (0-5) 
                                   Current/default is warn 
  -v|--verbose                     Increase the verbosity level of the program. 
                                   Use multiple times for more verbosity. 
  --report <type>                  Control program execution environment 
                                   report generation (if implemented). One of 
                                   (never|error|always). Default is error 

ncbi-file uri syntax:
  'ncbi-file' uris are based on a combination of the standard
  'file' and 'http' syntax familiar to browser users.
  Enclosing questions marks are probably necessary.

  URI syntax is 'scheme:'hierarchical-part'?'query'#'fragment'
  scheme:
    ncbi-file
  hierarchical-part:
    this is the same as for scheme file and can be the native form or
    the ncbi 'posix' format that matches most flavors of Unix.
    Environment variables and short hands such as '~' are not interpreted.
  query:
    Zero or two symbols separated by the '&'.  The whole query can be omitted.
      enc or encrypt
      pwfile='path to a file containing a password'
      pwfd='file descriptor where the password can be read'
    If the encrypt is present exactly one of the other two must be present.
  fragment:
    No fragment is permitted.

password contents:
  The file or file descriptor containing the password is read enough to satisfy
  the following restriction.  The password is terminated by the end of file,
  a carriage return or a line feed.  The length must be no more than 4096 bytes.
  The password file should have limited read access to protect it.

Use examples:
  To encrypt a create a file named 'example' with a password from a file
  named 'password-file' to a file named 'example.nenc' all in the current
  directory:

  $ nenctool example "ncbi-file:example.nenc?encrypt&pwfile=password-file"

  To decrypt a file named 'example.nenc' with a password from a file
  named 'password-file' to a file named 'example' in directories implied
  in the command:

  $ nenctool "ncbi-file:/home/user/downloads/example.nenc?encrypt&pwfile=/home/user/password-file" example

  To change the encryption of a file from one password to another:

  $ nenctool "ncbi-file:/home/user/downloads/example.nenc?encrypt&pwfile=old-password-file" \
         "ncbi-file:example.nenc?encrypt&pwfile=/home/user/new-password-file"