File preparation
Due to the processes used at the EGA for file archival the use of non-alphanumeric characters in a filename will cause issues in archival. By convention whitespaces in filenames are to be avoided and should be replaced with the underscore character (_). Before encrypting your files please make sure that any files that will be uploaded to EGA do not use special characters such as # ? ( ) [ ] / \ = + < > : ; " ' , * ^ | &
Files encrypted with Crypt4gh must be uploaded via INBOX
Before uploading
If you are not a registered EGA user, you will first need an EGA user account.
Please note that it may take a few days for your account to be activated, as it needs to be vouched for by the EGA Helpdesk. Once your account is validated you will be able to request a submitter role.
Meanwhile, you can create and add your public key to your EGA account profile. This option is not available for old submission accounts (e.g. ega-box-NNN).
As soon as you have been granted a submitter role, you will be able to connect with your username and password to the EGA inbox using the SFTP protocol. If you have also registered a public key in your profile, you can also connect using this key.
Encrypting your files
Please note that you can also encrypt your files by uploading them directly to the "to-encrypt" folder in your upload area
If your connection is unstable, please encrypt them using Crypt4gh
The EGA encryption of this inbox is based on Crypt4GH. You can install a python implementation of it, with
pip install crypt4gh
or directly from the Github repository
pip install git+https://github.com/EGA-archive/crypt4gh.git
Save now the following Crypt4GH public key, into a file, say ingestion.pubkey.
-----BEGIN CRYPT4GH PUBLIC KEY----- m2R+BW3VozWS6JT4+X5Bbzsqmo7gRMtrXsAcg0CAKHI= -----END CRYPT4GH PUBLIC KEY-----
Encrypt a given file with the following command:
crypt4gh encrypt --recipient_pk ingestion.pubkey < file_to_encrypt > encrypted_file.c4gh
The command reads the file from stdin
(with <
) and output the encrypted version to stdout
(with >
).
Replace file_to_encrypt
and encrypted_file.c4gh
with the appropriate filenames but make sure to not use the same filename for both reading and writing because your SHELL would then truncate both files before you even read or write.