该开源项目得到社区支持。要报告问题或分享想法,请使用问题;如果您有解决问题的建议,也请提供这些详细信息。此外,使用Pull Request来贡献实际的错误修复或建议的增强功能。我们欢迎并感谢所有贡献。有疑问或想与我们的团队讨论一些问题吗?加入我们的 Slack !
VCert 是一个 Go 库、SDK 和命令行实用程序,旨在通过使用 Venafi 信任保护平台或 Venafi 控制平面来简化符合企业安全策略的机器身份(也称为 SSL/TLS 证书和密钥)的密钥生成和注册或韦纳菲萤火虫。
请参阅适用于 Venafi 信任保护平台的 VCert CLI 或适用于 Venafi 控制平面的 VCert CLI 或适用于 Venafi Firefly 的 VCert CLI 以开始使用命令行实用程序。
VCert 版本使用最新版本的 Trust Protection Platform 进行测试。最新 VCert 版本的一般功能应与 Trust Protection Platform 17.3 或更高版本兼容。自定义字段和实例跟踪需要 TPP 18.2 或更高版本,令牌身份验证需要 TPP 20.1 或更高版本。
根据 https://golang.org/doc/install 配置您的 Go 环境。
验证 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
启用 go 模块的 Go 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
方法来实例化客户端。&certificate.Request
类型的证书请求对象。GenerateRequest
方法,生成证书请求的密钥对和CSR。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 服务时的拾取操作)按策略分配 CA 模板的要求遵循长期的 Venafi 最佳实践,这也满足我们的设计目标,即让 VCert 用户保持简单的证书请求流程。如果您需要能够通过请求指定 CA 模板,您可以使用 TPP REST API,但请注意,这违背了 Venafi 建议。
单元测试:
make test
Trust Protection Platform 和 Venafi Control Plane 的集成测试需要访问这些产品。环境变量用于指定所需的设置,包括凭据。 Venafi 控制平面 API 密钥和区域值片段(即Application Name
Issuing Template API Alias
)可在 Web 界面中轻松获得。
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
运行时,这些测试将使用 Ruby 版本的 Cucumber 在自己的 Docker 容器中执行。
已完成的测试运行将报告通过、失败或跳过的测试场景和步骤的数量。
有关该剧本及其构建方式的详细说明,请查看此处:Readme Playbook
Venafi 欢迎开发者社区的贡献。
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]。