このオープンソース プロジェクトはコミュニティによってサポートされています。問題を報告したり、アイデアを共有したりするには、 Issues を使用します。問題を解決するための提案がある場合は、その詳細も含めてください。さらに、プル リクエストを使用して、実際のバグ修正や提案された機能強化に貢献します。すべての貢献を歓迎し、感謝いたします。ご質問がありますか、または私たちのチームと何か話し合いたいことがありますか? Slack にご参加ください!
VCert は、Venafi Trust Protection Platform または Venafi Control Plane を使用して、エンタープライズ セキュリティ ポリシーに準拠するマシン ID (SSL/TLS 証明書およびキーとも呼ばれます) のキーの生成と登録を簡素化するように設計された Go ライブラリ、SDK、およびコマンド ライン ユーティリティです。またはヴェナフィホタル。
コマンド ライン ユーティリティの使用を開始するには、「Venafi Trust Protection Platform の VCert CLI」、「Venafi Control Plane の 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
の構成オブジェクトを作成します。通常、ソリューションは、Secret Vault、.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
実行すると、これらのテストは、Cucumber の Ruby バージョンを使用して独自の Docker コンテナーで実行されます。
完了したテスト実行では、成功、失敗、またはスキップされたテスト シナリオとステップの数がレポートされます。
プレイブックとその構築方法の詳細な説明については、ここを確認してください: Readme プレイブック
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
Copyright © Venafi, Inc. 全著作権所有。
VCert は、Apache License バージョン 2.0 に基づいてライセンスされています。ライセンスの全文については、「LICENSE」を参照してください。
ご質問/コメントは [email protected] までお送りください。