blob: 1a38c64eecbac82de220a4b6fdcb2c4154536f14 [file] [log] [blame]
Zhiyi Zhang3aaf06d2020-10-17 13:05:36 -07001#! /bin/bash
2
tylerliue0a7dd02020-10-17 17:10:59 -07003echo 'Please enter the /ndn certificate:(end with Ctrl-D)'
4ROOT_CERT=$(cat | tr -d '\n')
5
tylerliu5a7f07a2020-10-17 17:19:40 -07006# compile and install ndncert
7git clone https://github.com/Zhiyi-Zhang/ndncert.git
8cd ndncert
9git checkout origin/v0.3
10./waf configure
11sudo ./waf install
12sudo cp ./build/systemd/ndncert-ca.service /etc/systemd/system/
13sudo chmod 644 /etc/systemd/system/ndncert-ca.service
14
15# Generate ndncert config file
16echo 'Please enter the /ndn certificate:(end with Ctrl-D)'
17root_cert=$(cat | tr -d '\n')
18
tylerliue0a7dd02020-10-17 17:10:59 -070019cat > ndncert-site-client.conf << ~EOF
20{
21 "ca-list":
22 [
23 {
24 "ca-prefix": "/ndn",
25 "ca-info": "NDN Testbed Root Trust Anchor",
26 "max-validity-period": "1296000",
27 "max-suffix-length": "3",
28 "probe-parameters":
29 [
30 {"probe-parameter-key": "pin"}
31 ],
tylerliu5a7f07a2020-10-17 17:19:40 -070032 "certificate": "$root_cert"
tylerliue0a7dd02020-10-17 17:10:59 -070033 }
34 ]
35}
36~EOF
37
tylerliu5a7f07a2020-10-17 17:19:40 -070038#run client
39sudo mkdir /var/lib/ndncert-ca
40sudo chown ndn /var/lib/ndncert-ca
41sudo HOME=/var/lib/ndncert-ca -u ndn ndnsec-keygen /ndn
42sudo HOME=/var/lib/ndncert-ca -u ndn ndncert-client -c ndncert-site-client.conf
tylerliue0a7dd02020-10-17 17:10:59 -070043
44
45# prepare CA configuration file
tylerliu5a7f07a2020-10-17 17:19:40 -070046echo 'Please enter the /ndn certificate:'
47site_prefix=$(read)
48cat > /usr/local/etc/ndncert/ca.conf << ~EOF
49{
50 "ca-prefix": "$site_prefix",
51 "ca-info": "NDN Testbed Site Trust Anchor: $site_prefix",
52 "max-validity-period": "1296000",
53 "max-suffix-length": "2",
54 "probe-parameters":
55 [
56 {"probe-parameter-key": "email"}
57 ],
58 "supported-challenges":
59 [
60 { "challenge": "pin" },
61 { "challenge": "email" }
62 ],
63 "name-assignment":
64 {
65 "param": "/email"
66 }
67}
68~EOF
tylerliue0a7dd02020-10-17 17:10:59 -070069
70# run the CA
71sudo systemctl start ndncert-ca
72sleep(2)
73
74# check the status to make sure everything is correct
75sudo systemctl status ndncert-server
76