chiark / gitweb /
changelog: document changes since 0.6.0
[secnet.git] / README
diff --git a/README b/README
index c27375ab7bf563702272c62870e4d51222518331..200da3742ba9ef91d7b4c81273c22184e02883ca 100644 (file)
--- a/README
+++ b/README
@@ -193,6 +193,17 @@ Usage: secnet [OPTION]...
       --help              display this help and exit
       --version           output version information and exit
 
+* base91s
+
+secnet defines a variant of the base91 encoding `basE91', from
+ http://base91.sourceforge.net/
+
+base91s is the same as baseE91 except that:
+ - in the encoded charset, `"' is replaced with `-'
+ - spaces, newlines etc. and other characters outside the charset
+    are not permitted (although in some places they may be ignored,
+    this is not guaranteed).
+
 * secnet builtin modules
 
 ** resolver
@@ -381,15 +392,17 @@ site: dict argument
    them.
   resolver (resolver closure)
   random (randomsrc closure)
-  local-key (rsaprivkey closure)
+  key-cache (privcache closure)
+  local-key (sigprivkey closure): Deprecated; use key-cache instead.
   address (string list): optional, DNS name(s) used to find our peer;
     address literals are supported too if enclosed in `[' `]'.
   port (integer): mandatory if 'address' is specified: the port used
     to contact our peer
-  key (rsapubkey closure): our peer's public key
+  peer-keys (string): path (prefix) for peer public key set file(s);
+    see README.make-secnet-sites re `pub' etc. and NOTES.peer-keys.
+  key (sigpubkey closure): our peer's public key (obsolete)
   transform (transform closure): how to mangle packets sent between sites
   dh (dh closure)
-  hash (hash closure)
   key-lifetime (integer): max lifetime of a session key, in ms
     [one hour; mobile: 2 days]
   setup-retries (integer): max number of times to transmit a key negotiation
@@ -562,11 +575,26 @@ priv-cache: dict argument
   privkey-max (integer): optional, maximum size of private key
     file in bytes. [4095]
 
+** pubkeys
+
+Defines:
+  make-public (closure => sigpubkey closure)
+
+make-public: (
+  arg1: sigscheme name
+  arg2: base91s encoded public key data, according to algorithm
+
 ** rsa
 
 Defines:
-  rsa-private (closure => rsaprivkey closure)
-  rsa-public (closure => rsapubkey closure)
+  sigscheme algorithm 00 "rsa1"
+  rsa-private (closure => sigprivkey closure)
+  rsa-public (closure => sigpubkey closure)
+
+rsa1 sigscheme algorithm:
+  private key: SSH private key file, version 1, no password
+  public key: SSH public key file, version 1
+    (length, restrictions, email, etc., ignored)
 
 rsa-private: string[,bool]
   arg1: filename of SSH private key file (version 1, no password)
@@ -576,6 +604,11 @@ rsa-public: string,string
   arg1: encryption key (decimal)
   arg2: modulus (decimal)
 
+The sigscheme is hardcoded to use sha1.  Both rsa-private and
+rsa-public look for the following config key in their context:
+  hash (hash closure): hash function [sha1]
+
+
 ** dh
 
 Defines: