GNUNET-IDENTITY(1)

NAME
gnunet-identity - maintain (create, delete or list) or perform actions with egos

SYNOPSIS
gnunet-identity [-C NAME | --create=NAME] [-D NAME | --delete=NAME] [-d | --display] [-e NAME | --ego=NAME] [-h | --help] [-k PUBLIC_KEY | --key=PUBLIC_KEY] [-m | --monitor] [-p | --private-keys] [-q | --quiet] [-R MESSAGE | --read=MESSAGE] [-s SUBSYSTEM | --set=SUBSYSTEM] [-V | --verbose] [-W MESSAGE | --write=MESSAGE] [-X | --eddsa]

DESCRIPTION
gnunet-identity is a tool for managing egos. An ego is the persona that controls a namespace. It is identical to a public-private ECC key pair.

gnunet-identity can be used to list all of the egos that were created locally, to create new egos, and to delete existing egos (the namespace will continue to exist, but it will be impossible to add additional data to it).

In addition, it is possible to encrypt and decrypt messages (arbitrary strings) using a given public key (for encryption) or ego (for decryption).

Creating a new ego requires using the -C option together with an identifier (name) that is to be used for the new ego. This identifier is only used locally for this peer and not shared with other peers. The options are as follows:

-C NAME | --create=NAME
    Creates a new ego with the given NAME.

-D NAME | --delete=NAME
    Delete the ego with the given NAME.

-d | --display
    Display all of our egos.

-e NAME | --ego=NAME
    Perform "set" operation with the respective ego or restrict "display" operation to the respective ego.

-h | --help
    Print the help page.

-k PUBLIC_KEY | --key=PUBLIC_KEY
    The public key to use for a message recipient. Use together with -W. The recipient can obtain the desired ego's public key using the "display" operation.

-m | --monitor
    Run in monitor mode, listing all ouf our egos until CTRL-C is pressed. Each ego is listed together with a unique pointer value; if egos are renamed, that pointer value remains the same, if egos are deleted, they are listed one more time with a name of "<null>".

-p | --private-keys
    Print the private keys (in Crockford Base32 encoding), and not just the public keys. The second column shows the public key, the third column shows the private key.

-q | --quiet
    Be quiet, in particular outputs only the public key when listing egos.

-R MESSAGE | --read=MESSAGE
    Decrypt (read) a message using the respective ego private key. Use together with -e. The message consists of an ephemeral key and the ciphertext, separated by a dot. Such messages can be created with -W.

-s SUBSYSTEM | --set=SUBSYSTEM
    Perform "set" operation for the specified SUBSYSTEM with the respective ego. Needs to be used together with option -e. After this, the given SUBSYSTEM will use the ego with the specified NAME. This will fail if NAME does not yet exist.

-V | --verbose
    Be verbose, in particular outputs the public key of freshly created egos.

-W MESSAGE | --write=MESSAGE
    Encrypt (write) the given message for the identity given with -k. The output contains an ephemeral message public key and the message separated by a dot. The entire line needs to be transferred to the recipient, who can use -R to decrypt the message.

-X | --eddsa
    Use EdDSA instead of ECDSA.

FILES
~/.local/share/gnunet/identity/egos Directory where the egos are stored by default

SEE ALSO
gnunet-gns(1), gnunet-namestore(1)

The full documentation for gnunet is maintained as a Texinfo manual. If the info(1) and gnunet programs are properly installed at your site, the command

    info gnunet

should give you access to the complete handbook,

    info gnunet-c-tutorial

will give you access to a tutorial for developers.

Depending on your installation, this information is also available in gnunet(7) and gnunet-c-tutorial(7).

BUGS
Report bugs by using https://bugs.gnunet.org or by sending electronic mail to <gnunet-developers@gnu.org>.