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 is used
26 as the key material. If the <key> is not provided the
27 negotiated key material is used. If the negotiation has not
28 been performed this command has no effect.
30 If the type is `msg' and the <key> is `*' then random key
31 will be generated automatically. The <cipher> may be set
32 for both private message and channel private keys and the
33 <hmac> may be set only to the channel private keys.
37 Unset the key. The private key is not used after this
38 command. The key must be set again or the key material must
39 be re-negotiated to be able to use the private keys again.
40 The channel may have several private keys set. The <number>
41 can be used to indicate what key is being unset. If it is
42 not provided all keys are removed.
46 List all private keys that has been set. If the type is
47 `msg' and the <nickname> is ยด*' then all private message
48 keys that you've set will be listed.
50 agreement [<hostname> [<port>]]
52 Send key agreement request to remote client. If the
53 <hostname> is provided it is sent in the request. The
54 receiver may use the hostname to start the key agreement.
55 If the <port> is also provided your key agreement protocol
56 server is bound to that port. Note that it cannot be
57 privileged port (<1024). If the <hostname> and <port> is
58 not provided then the receiver will never initiate the key
59 agreement. In this case you may start the key agreement
60 after receiving the reply to the request, by giving the
63 This command may be used to send reply to the remote client.
64 When receiving empty key agreement you can reply to the
65 sender with the hostname and port of your key agreement
66 server with this command.
68 If the hostname and port are ommitted, the irssi boolean
69 variable use_auto_addr will be examined. If it is set
70 the value of auto_bind_ip will be used as the IP address
71 to listen for the return reply, the value of auto_public_ip
72 will be the IP address sent to the remote client, and the
73 auto_bind_port will be the port value to be bound to and
74 sent to the remote client. If auto_public_ip is unset, but
75 auto_bind_ip is set, irssi will send the auto_bind_ip
76 variable's value to the remote client.
78 negotiate [<hostname> [<port>]]
80 This may be called to start the key agreement with <nickname>.
81 This command has effect only if the <nickname> has replied to
82 your key agreement request. You will see a notify on the
83 screen when the reply arrives. The <hostname> and <port> is the
84 hostname and port of the remote client's key agreement server.