oliverkurth / rhizofs

Remote filesystem based on Linux FUSE (Filesystem in userspace), zeromq and Googles Protocol Buffers library.
Other
6 stars 0 forks source link

Add encryption #3

Closed oliverkurth closed 1 year ago

oliverkurth commented 1 year ago

Add encryption.

If --encrypt is used for the server, and the option --keyfile is not given, it will create a key pair. The public key will be written to stdout or to a file if --pubkeyfile is used. The file will have permissions to be only readable by the user.

If --encrypt is used for the server, and the option --keyfile=<keyfile> is given, the file will be read for the public key, and the file with the same name but .secret appended will be read for the secret key.

The client can use the server public key either with the --pubkey option, or read from a file with the --pubkeyfile option.

If additionally the client is invoked with the --keyfile option, the file will be read for the public key, and the file with the same name but .secret appended will be read for the secret key. Otherwise the client will generate a temporary key pair.

This adds the utility rhizo-keygen to create a key pair. It will create two files, one with the public key, and another with the secret key. For example, rhizo-keygen foo-key will generate a file foo-key witrh the public key, and a file foo-key.secret for the secret key.