Code Co-op Encrypt

What is Code Co-op?

Code Co-op is a peer-to-peer version control system made by Reliable Software. We have used Code Co-op for many years and it is one of the most essential tools in our development process. In our opinion, it is one of the best version control systems currently available and we thoroughly recommend it. We like it because:

What is Code Co-op Encrypt?

CodeCoopEncrypt is a utility for use with Reliable Software’s excellent Code Co-op version control system. Code Co-op Version 5.0 or above is required for this utility to work correctly.

Code Co-op uses email to communicate between remote sites. By default, these email scripts are compressed but not encrypted. In version 5.0, although it is possible to encrypt scripts, all scripts on all projects are encrypted using the same encryption key which is not suitable if Code Co-op isn’t used in a closed environment (e.g., Code Co-op is used to share data between different clients).

CodeCoopEncrypt solves this problem by allowing robust encryption on a project-by-project basis using different encryption keys. Moreover, the default behaviour is to have all projects unencrypted, so once CodeCoopEncrypt is installed, you shouldn’t notice any difference until you explicitly enable encryption on projects.

Fast and effective Blowfish encryption is used with 256-bit encryption keys and every script is encrypted with a unique and securely generated random encryption key. This makes unauthorised decryption of scripts virtually impossible. After decryption, file integrity is checked using SHA-256 (a 256-bit secure hash fingerprint). (Our implementation is extensible so other encryption technologies can be added easily.)

Project encryption is enabled simply by adding a 1-line entry in a simple text configuration file. This includes the project name and a passphrase (used to generate the 256-bit key).

Installation

An installer is provided to make the installation painless. Simply run the installer on all machines where Code Co-op uses email to communicate (instead of LAN) and you are ready to go. Just add passphrases to the config file and all communication for those projects will be secured.

Download the installer here.