Этот проект с открытым исходным кодом поддерживается сообществом. Чтобы сообщить о проблеме или поделиться идеей, используйте «Проблемы» ; Если у вас есть предложения по устранению проблемы, укажите и эти сведения. Кроме того, используйте запросы на включение , чтобы внести исправления ошибок или предлагаемые улучшения. Мы приветствуем и ценим любой вклад. Есть вопросы или хотите что-то обсудить с нашей командой? Присоединяйтесь к нам в Slack !
VCert — это библиотека Go, SDK и утилита командной строки, предназначенная для упрощения генерации ключей и регистрации идентификаторов компьютеров (также известных как сертификаты и ключи SSL/TLS), которые соответствуют политике безопасности предприятия, с использованием платформы Venafi Trust Protection Platform или Venafi Control Plane. или Венафи Светлячок.
Чтобы начать работу с утилитой командной строки, см. интерфейс командной строки VCert для платформы защиты доверия Venafi, интерфейс командной строки VCert для плоскости управления Venafi или интерфейс командной строки VCert для Venafi Firefly.
Релизы VCert тестируются с использованием последней версии Trust Protection Platform. Общие функциональные возможности последней версии VCert должны быть совместимы с платформой Trust Protection Platform 17.3 или более поздней версии. Для настраиваемых полей и отслеживания экземпляров требуется TPP 18.2 или выше, а для аутентификации по токену требуется TPP 20.1 или выше.
Настройте среду Go в соответствии с https://golang.org/doc/install.
Убедитесь, что переменная среды GOPATH установлена правильно.
Загрузите исходный код:
go get github.com/Venafi/vcert/v5
или до Go 1.13
git clone https://github.com/Venafi/vcert.git $GOPATH /src/github.com/Venafi/vcert/v5
Перейти на версию 1.11 с включенными модулями go или перейти на версию 1.13 и выше, обязательно клонируя за пределами $GOPATH/src
git clone https://github.com/Venafi/vcert.git
Создайте утилиты командной строки для Linux, macOS и Windows:
make build
Примеры кода для программного использования можно найти в файлах в папке примеров.
main.go
сделайте следующие объявления импорта: import (
"github.com/Venafi/vcert/v5"
"github.com/Venafi/vcert/v5/pkg/certificate"
"github.com/Venafi/vcert/v5/pkg/endpoint"
)
&vcert.Config
, который определяет детали соединения Venafi. Решения обычно предназначены для получения этих сведений из хранилища секретов, файла .ini, переменных среды или параметров командной строки.NewClient
класса vcert с объектом конфигурации.&certificate.Request
.GenerateRequest
клиента.RequestCertificate
клиента.RetrieveCertificate
клиента.vcert.Config
NewListener
со списком доменов в качестве аргументов. Например ("test.example.com:8443", "example.com")
net.Listener
в качестве аргумента для встроенного http.Serve
или других https-серверов.Примеры находятся в состоянии, в котором их можно собрать/выполнить с помощью следующих команд (после установки переменных среды, которые обсуждаются позже):
go build -o cli ./example
go test -v ./example -run TestRequestCertificate
View
, Read
, Write
, Create
, Revoke
(для действия по отзыву) и Private Key Read
(для действия по получению, когда CSR генерируется службой).Требование о том, чтобы шаблон ЦС назначался политикой, соответствует давней передовой практике Venafi, которая также соответствует нашей цели разработки — сделать процесс запроса сертификата простым для пользователей VCert. Если вам требуется возможность указать шаблон CA в запросе, вы можете использовать API REST TPP, но имейте в виду, что это противоречит рекомендациям Venafi.
Модульные тесты:
make test
Интеграционные тесты для платформы Trust Protection Platform и Venafi Control Plane требуют доступа к этим продуктам. Переменные среды используются для указания необходимых параметров, включая учетные данные. Фрагменты ключа и значения зоны API плоскости управления Venafi (т. е. Application Name
Issuing Template API Alias
) легко доступны в веб-интерфейсе.
export TPP_URL=https://tpp.venafi.example/vedsdk
export TPP_USER=tpp-user
export TPP_PASSWORD=tpp-password
export TPP_ZONE= ' somesuggested_policy '
export TPP_ZONE_RESTRICTED= ' somelocked_policy '
export TPP_ZONE_ECDSA= ' someecdsa_policy '
make tpp_test
export CLOUD_URL=https://api.venafi.cloud/v1
export CLOUD_APIKEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export CLOUD_ZONE= ' My ApplicationPermissive CIT '
export CLOUD_ZONE_RESTRICTED= ' Your ApplicationRestrictive CIT '
make cloud_test
В тестах утилит командной строки используются файлы функций Cucumber и Aruba.
Чтобы запустить тесты для всех функций параллельно:
make cucumber
Чтобы запустить тесты только для определенной функции:
make cucumber FEATURE=./features/basic/version.feature
Доступные функции:
basic
config
enroll
format
gencsr
renew
revoke
При запуске эти тесты будут выполняться в собственном контейнере Docker с использованием Ruby-версии Cucumber.
Завершенный тестовый запуск сообщит о количестве тестовых сценариев и шагов, которые были пройдены, не пройдены или пропущены.
Подробные объяснения о сборнике пьес и о том, как они создаются, можно найти здесь: Readme Playbook.
Венафи приветствует вклад сообщества разработчиков.
git clone [email protected]:youracct/vcert.git
git checkout -b your-branch-name
git commit -am ' Added some cool functionality '
git push origin your-branch-name
Авторское право © Venafi, Inc. Все права защищены.
VCert лицензируется по лицензии Apache версии 2.0. Полный текст лицензии см. в разделе ЛИЦЕНЗИЯ.
Пожалуйста, направляйте вопросы/комментарии на адрес [email protected].