Этот проект с открытым исходным кодом поддерживается сообществом. Чтобы сообщить о проблеме или поделиться идеей, используйте «Проблемы» ; Если у вас есть предложения по устранению проблемы, укажите и эти сведения. Кроме того, используйте запросы на включение , чтобы внести исправления ошибок или предлагаемые улучшения. Мы приветствуем и ценим любой вклад. Есть вопросы или хотите что-то обсудить с нашей командой? Присоединяйтесь к нам в Slack !
VCert — это библиотека Go, SDK и утилита командной строки, предназначенная для упрощения генерации ключей и регистрации идентификаторов компьютеров (также известных как сертификаты и ключи SSL/TLS), которые соответствуют политике безопасности предприятия, с использованием платформы Venafi Trust Protection Platform или Venafi Control Plane. или Венафи Светлячок.
Чтобы начать работу с утилитой командной строки, см. CLI VCert для платформы защиты доверия Venafi или CLI VCert для плоскости управления Venafi или CLI 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].