4 This command is used to set and unset private keys for
5 channels, set and unset private keys for private messages
6 with remote clients and to send key agreement requests and
7 negotiate the key agreement protocol with remote client.
8 The key agreement is supported only to negotiate private
9 message keys, it currently cannot be used to negotiate
10 private keys for channels, as it is not convenient for that
15 MSG The command is performed for private messages
16 affecting the <nickname>.
18 CHANNEL The command is performed for channel affecting
23 set [<key> [<cipher>] [<hmac>]]
25 Set the key into use. If the <key> is provided it
26 is used as the key material. If the <key> is not
27 provided the negotiated key material is used. If
28 the negotiation has not been performed this command
31 If the type is `msg' and the <key> is `*' then
32 random key will be generated automatically.
34 The <cipher> may be set for both private message
35 and channel private keys and the <hmac> may be set
36 only to the channel private keys.
40 Unset the key. The private key is not used after
41 this command. The key must be set again or the key
42 material must be re-negotiated to be able to use
43 the private keys again.
45 The channel may have several private keys set. The
46 <number> can be used to indicate what key is being
47 unset. If it is not provided all keys are removed.
51 List all private keys that has been set. If the
52 type is `msg' and the <nickname> is ยด*' then
53 all private message keys that you've set will be
56 agreement [<hostname> [<port>]]
58 Send key agreement request to remote client. If
59 the <hostname> is provided it is sent in the request.
60 The receiver may use the hostname to start the
61 key agreement. If the <port> is also provided your
62 key agreement protocol server is bound to that
63 port. Note that it cannot be privileged port (<1024).
64 If the <hostname> and <port> is not provided then
65 the receiver will never initiate the key agreement.
66 In this case you may start the key agreement after
67 receiving the reply to the request, by giving the
70 This command may be used to send reply to the
71 remote client. When receiving empty key agreement
72 you can reply to the sender with the hostname and
73 port of your key agreement server with this command.
75 negotiate [<hostname> [<port>]]
77 This may be called to start the key agreement with
78 <nickname>. This command has effect only if the
79 <nickname> has replied to your key agreement request.
80 You will see a notify on the screen when the reply
81 arrives. The <hostname> and <port> is the hostname
82 and port of the remote client's key agreement