Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TRANSCRYPT(1)							 TRANSCRYPT(1)

NAME
       transcrypt - transparently encrypt files	within a git repository

SYNOPSIS
       transcrypt [options...]

DESCRIPTION
       transcrypt  will	 configure a Git repository to support the transparent
       encryption/decryption of	files by utilizing OpenSSL's symmetric	cipher
       routines	 and  Git's  built-in clean/smudge filters. It will also add a
       Git alias "ls-crypt" to list all	transparently encrypted	 files	within
       the repository.

       The  transcrypt	source	code  and full documentation may be downloaded
       from https://github.com/elasticdog/transcrypt.

OPTIONS
       -c, --cipher=cipher
	      the symmetric cipher to  utilize	for  encryption;  defaults  to
	      aes-256-cbc

       -p, --password=password
	      the  password  to	 derive	 the  key  from; defaults to 30	random
	      base64 characters

       -y, --yes
	      assume yes and accept defaults for non-specified options

       -d, --display
	      display the current repository's cipher and password

       -r, --rekey
	      re-encrypt all encrypted files using new credentials

       -f, --flush-credentials
	      remove the locally cached	encryption credentials and  re-encrypt
	      any files	that had been previously decrypted

       -F, --force
	      ignore whether the git directory is clean, proceed with the pos-
	      sibility that uncommitted	changes	are overwritten

       -u, --uninstall
	      remove  all  transcrypt  configuration  from  the	repository and
	      leave files in the current working copy decrypted

       -l, --list
	      list all of the transparently encrypted files in the repository,
	      relative to the top-level	directory

       -s, --show-raw=file
	      show the raw file	as stored in the git commit object;  use  this
	      to check if files	are encrypted as expected

       -e, --export-gpg=recipient
	      export  the repository's cipher and password to a	file encrypted
	      for a gpg	recipient

       -i, --import-gpg=file
	      import the password and cipher from a gpg	encrypted file

       -v, --version
	      print the	version	information

       -h, --help
	      view this	help message

EXAMPLES
       To initialize a Git repository to support transparent encryption,  just
       change  into  the  repo	and run	the transcrypt script. transcrypt will
       prompt you interactively	for all	required  information  if  the	corre-
       sponding	option flags were not given.

	   $ cd	<path-to-your-repo>/
	   $ transcrypt

       Once  a	repository has been configured with transcrypt,	you can	trans-
       parently	encrypt	files by applying the "crypt" filter  and  diff	 to  a
       pattern in the top-level	.gitattributes config. If that pattern matches
       a  file	in  your  repository, the file will be transparently encrypted
       once you	stage and commit it:

	   $ echo 'sensitive_file  filter=crypt	diff=crypt' >> .gitattributes
	   $ git add .gitattributes sensitive_file
	   $ git commit	-m 'Add	encrypted version of a sensitive file'

       See the gitattributes(5)	man page for more information.

       If you have just	cloned a repository  containing	 files	that  are  en-
       crypted,	 you'll	 want to configure transcrypt with the same cipher and
       password	as the origin  repository.  Once  transcrypt  has  stored  the
       matching	 credentials,  it  will	 force	a checkout of any existing en-
       crypted files in	order to decrypt them.

       If the origin repository	has just  rekeyed,  all	 clones	 should	 flush
       their  transcrypt  credentials, fetch and merge the new encrypted files
       via Git,	and then re-configure transcrypt with the new credentials.

AUTHOR
       Aaron Bull Schaefer <aaron@elasticdog.com>

SEE ALSO
       enc(1), gitattributes(5)

				  August 2016			 TRANSCRYPT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=transcrypt&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help