The C-Agent is a reference implementation of a Keyfactor Remote Agent designed for IoT-based solutions. It supports the following build modes:
- OpenSSL
- WolfSSL
- Raspberry Pi SPI TPM (Coming Soon)
- Overview
- OpenSSL Build
- WolfSSL Build
- TPM Build (Coming Soon)
- Common Configuration Steps
- Appendix
- Troubleshooting
- Contributing
- License
The Keyfactor C-Agent provides secure communication between IoT devices and the Keyfactor Control Platform. This guide walks you through building and configuring the agent for different modes.
sudo apt update
sudo apt install -y build-essential git libcurl4-gnutls-dev curl libssl-dev
sudo dnf update -y
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y curl-devel curl openssl-devel
cd ~
git clone https://github.com/Keyfactor/Keyfactor-CAgent
cd ~/Keyfactor-CAgent
make clean
make opentest -j$(nproc)
cd ~/Keyfactor-CAgent
make clean
make openpi -j$(nproc)
sudo apt update
sudo apt install -y build-essential git automake autoconf libtool pkg-config wget
sudo yum update
sudo yum install -y build-essential git automake autoconf libtool pkg-config wget
cd ~
wget https://github.com/wolfSSL/wolfssl/archive/v5.0.0-stable.tar.gz
tar -xzf v5.0.0-stable.tar.gz
cd wolfssl-5.0.0-stable
./autogen.sh
./configure --enable-tls13 --enable-all
make
sudo make install
sudo ldconfig -v | grep libwolfssl
Ensure the output includes:
libwolfssl.so.30 -> libwolfssl.so.30.0.0
cd ~
wget https://github.com/curl/curl/archive/refs/tags/curl-7_81_0.tar.gz
tar -xvf curl-7_81_0.tar.gz
cd curl-curl-7_81_0/
autoreconf -fi
./configure --with-wolfssl
make -j$(nproc)
sudo make install
sudo ldconfig
cd ~/Keyfactor-CAgent
make clean
make wolftest -j$(nproc)
cd ~/Keyfactor-CAgent
make clean
make wolftest -j$(nproc)
This feature is under development. Stay tuned for updates.
sudo mkdir --parents /home/keyfactor/Keyfactor-CAgent/certs/
sudo chown $(whoami):$(whoami) /home/keyfactor/Keyfactor-CAgent/certs
nano /home/keyfactor/Keyfactor-CAgent/certs/trust.store
Copy the PEM-formatted certificate into the trust.store
file.
cd ~/Keyfactor-CAgent
nano config.json
Update the configuration file with your instance details.
cd ~/Keyfactor-CAgent
./agent -l t
[List all switches here with examples.]
[Include detailed explanations of configuration fields.]
- Dependency Installation Errors: Ensure your system package manager is updated.
- Build Errors: Verify all dependencies are installed and compatible.
- Runtime Issues: Check logs with
-l t
for detailed output.
Contributions are welcome! Submit issues or pull requests on GitHub.
This project is licensed under the MIT License. See the LICENSE
file for details.