1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
Nickserver
==================================
Nickserver is a server running the Nicknym protocol. This daemon can be run by
service providers in order to support Nicknym.
Nicknym is a protocol to map user nicknames to public keys. With Nicknym, the
user is able to think solely in terms of nickname, while still being able to
communicate with a high degree of security (confidentiality, integrity, and
authenticity). Essentially, Nicknym is a system for binding human-memorable
nicknames to a cryptographic key via automatic discovery and automatic
validation.
For more information, see https://leap.se/nicknym
About nickserver:
* Written in Ruby 2.1, licensed GPLv3
* Lightweight and scalable (high concurrency, reasonable latency)
* Uses asynchronous network IO for both server and client connections (via EventMachine)
API
==================================
You query the nickserver via HTTP. The API is very minimal:
curl -X POST -d address=alice@domain.org https://nicknym.domain.org:6425
The response consists of a signed JSON document with fields for the available
public keys corresponding to the address.
For more details, see https://leap.se/nicknym
Requirements
==================================
* Ruby (tested with 2.1.5)
* CouchDB
Installation
==================================
You have three fine options for installing nickserver:
Install prerequisites
$ sudo apt-get install ruby-dev libssl-dev
Note: libssl-dev must be installed before installing the gem EventMachine,
otherwise the gem will get built without TLS support.
Install from source:
$ git clone git://leap.se/nickserver
$ cd nickserver
$ rake build
$ rake install
Install for development:
$ git clone git://leap.se/nickserver
$ cd nickserver
$ bundle
$ rake test
Configuration
==================================
Nickserver loads the configuration files `config/default.yml` and
`/etc/nickserver.yml`, if it exists. See `config/default.yml` for the
available options.
The default HKP host is set to https://hkps.pool.sks-keyservers.net. The CA
for this pool is available here https://sks-keyservers.net/sks-keyservers.netCA.pem
Usage
==================================
Usage: nickserver [OPTION] COMMAND
where COMMAND is one of:
start start an instance of the application
stop stop all instances of the application
restart stop all instances and restart them afterwards
status show status (PID) of application instances
version print version and exit
where OPTION is one of:
--verbose log more
Running Tests
==================================
To run the test suite, run:
rake
The tests that actually make real network calls are disabled by default. To run these tests to, do this:
REAL_NET=true rake
|