#! /bin/bash

echo 'Please enter the /ndn certificate:(end with Ctrl-D)'
ROOT_CERT=$(cat | tr -d '\n')

# compile and install ndncert
git clone https://github.com/Zhiyi-Zhang/ndncert.git
cd ndncert
git checkout origin/v0.3
./waf configure
sudo ./waf install
sudo cp ./build/systemd/ndncert-ca.service /etc/systemd/system/
sudo chmod 644 /etc/systemd/system/ndncert-ca.service

# Generate ndncert config file
echo 'Please enter the /ndn certificate:(end with Ctrl-D)'
root_cert=$(cat | tr -d '\n')

cat > ndncert-site-client.conf << ~EOF
{
  "ca-list":
  [
    {
      "ca-prefix": "/ndn",
      "ca-info": "NDN Testbed Root Trust Anchor",
      "max-validity-period": "1296000",
      "max-suffix-length": "3",
      "probe-parameters":
      [
        {"probe-parameter-key": "pin"}
      ],
      "certificate": "$root_cert"
    }
  ]
}
~EOF

#run client
sudo mkdir /var/lib/ndncert-ca
sudo chown ndn /var/lib/ndncert-ca
sudo HOME=/var/lib/ndncert-ca -u ndn ndnsec-keygen /ndn
sudo HOME=/var/lib/ndncert-ca -u ndn ndncert-client -c ndncert-site-client.conf


# prepare CA configuration file
echo 'Please enter the /ndn certificate:'
site_prefix=$(read)
cat > /usr/local/etc/ndncert/ca.conf << ~EOF
{
  "ca-prefix": "$site_prefix",
  "ca-info": "NDN Testbed Site Trust Anchor: $site_prefix",
  "max-validity-period": "1296000",
  "max-suffix-length": "2",
  "probe-parameters":
  [
    {"probe-parameter-key": "email"}
  ],
  "supported-challenges":
  [
    { "challenge": "pin" },
    { "challenge": "email" }
  ],
  "name-assignment":
  {
    "param": "/email"
  }
}
~EOF

# run the CA
sudo systemctl start ndncert-ca
sleep(2)

# check the status to make sure everything is correct
sudo systemctl status ndncert-server

