CFSSL – это инструмент CloudFlare PKI / TLS с открытым исходным кодом для подписи, проверки сертификатов TLS на компьютерах с Linux, macOS и Windows.
В этом руководстве мы рассмотрим, как установить CFSSL в системах Linux и macOS.
CFSSL состоит из:
- Набор пакетов, полезных для создания пользовательских инструментов TLS PKI
- Программа cfssl, которая является утилитой командной строки, использующей пакеты CFSSL.
- Программа multirootca, представляющая собой сервер центра сертификации, который может использовать несколько ключей подписи.
- Программа mkbundle используется для создания пула сертификатов.
- Программа cfssljson, которая принимает вывод JSON из программ cfssl и multirootca и записывает сертификаты, ключи, CSR и пакеты на диск.
Установка CloudFlare CFSSL на Linux | macOS
Существует два стандартных метода установки, которые можно использовать и на Linux и на macOS.
- Первый – скачать бинарнники, которые были скомпилированы для вас разработчиками.
- Другой вариант – использовать Go, чтобы извлечь из исходного кода и скомпилировать инструмент самостоятельно.
Установка из исходников
--- Linux ---
wget -q -O - https://raw.githubusercontent.com/canha/golang-tools-install-script/master/goinstall.sh | bash
--- macOS ---
curl https://raw.githubusercontent.com/canha/golang-tools-install-script/master/goinstall.sh | bash
Установите git:
--- CentOS / Fedora ---
$ sudo yum -y install git gcc
--- Ubuntu / Debian ---
$ sudo apt update
$ sudo apt install git
После установки Go вы можете затем собрать и установить все служебные программы (включая cfssl, cfssljson и mkbundle).
source ~/.bashrc
go get -u github.com/cloudflare/cfssl/cmd/...
Бинарные пакеты будут доступны в вашем домашнем каталоге Go и могут быть вызваны из терминала напрямую, если каталог находится в вашем PATH.
$ ls ~/go/bin/
cfssl cfssl-bundle cfssl-certinfo cfssljson cfssl-newkey cfssl-scan mkbundle multirootca
sudo cp ~/go/bin/* /usr/local/bin
Бинарный метод установки
Если вы предпочитаете другой метод установки, каждый инструмент должен быть установлен независимо.
Мы рассмотрим установку нескольких программ, поставляемых с cfssl, а другие могут быть установлены по вашему желанию.
Установка программы cfssl
Установить на Linux:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssl_${VNUMBER}_linux_amd64 -O cfssl
chmod +x cfssl
sudo mv cfssl /usr/local/bin
Установить на macOS:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssl_${VNUMBER}_darwin_amd64 -O cfssl
chmod +x cfssl
sudo mv cfssl /usr/local/bin
Убедитесь, что установка прошла успешно, проверив номер версии:
$ cfssl version
Version: 1.4.1
Runtime: go1.12.12
Установка программы cfssljson
Установить на Linux:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssljson_${VNUMBER}_linux_amd64 -O cfssljson
chmod +x cfssljson
sudo mv cfssljson /usr/local/bin
cfssljson -version
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssljson_${VNUMBER}_darwin_amd64 -O cfssljson
chmod +x cfssljson
sudo mv cfssljson /usr/local/bin
cfssljson -version
Установка mkbundle
Установить на Linux:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/mkbundle_${VNUMBER}_linux_amd64 -O mkbundle
chmod +x mkbundle
sudo mv mkbundle /usr/local/bin
Установить на macOS:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/mkbundle_${VNUMBER}_darwin_amd64 -O mkbundle
chmod +x mkbundle
sudo mv mkbundle /usr/local/bin
Установка multirootca
Установить на Linux:
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/multirootca_${VNUMBER}_linux_amd64 -O multirootca
chmod +x multirootca
sudo mv multirootca /usr/local/bin