此開源專案得到社區支持。若要回報問題或分享想法,請使用問題;如果您有解決問題的建議,也請提供這些詳細資訊。此外,使用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 範本的要求遵循長期的 enafi 最佳實踐,這也滿足我們的設計目標,即讓 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]。