이 오픈 소스 프로젝트는 커뮤니티에서 지원됩니다. 문제를 보고하거나 아이디어를 공유하려면 Issues 를 사용하세요. 문제 해결을 위한 제안사항이 있는 경우 해당 세부정보도 포함해 주세요. 또한 Pull Request를 사용하여 실제 버그 수정이나 제안된 개선 사항을 제공하세요. 우리는 모든 기여를 환영하고 감사드립니다. 질문이 있거나 우리 팀과 논의하고 싶으신가요? Slack에서 우리와 함께하세요 !
VCert는 Venafi Trust Protection Platform 또는 Venafi Control Plane을 사용하여 기업 보안 정책을 준수하는 시스템 ID(SSL/TLS 인증서 및 키라고도 함)의 키 생성 및 등록을 단순화하도록 설계된 Go 라이브러리, SDK 및 명령줄 유틸리티입니다. 또는 Venafi Firefly.
명령줄 유틸리티를 시작하려면 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 또는 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
유형의 구성 객체를 생성합니다. 솔루션은 일반적으로 비밀 저장소, .ini 파일, 환경 변수 또는 명령줄 매개변수에서 해당 세부 정보를 가져오도록 설계되었습니다.NewClient
메서드를 호출하여 클라이언트를 인스턴스화합니다.&certificate.Request
유형의 인증서 요청 개체를 구성합니다.GenerateRequest
메서드를 호출하여 인증서 요청에 대한 키 쌍과 CSR을 생성합니다.RequestCertificate
메서드에 전달하여 요청을 제출합니다.RetrieveCertificate
메서드를 사용하여 인증서를 픽업하려면 요청 ID를 사용하세요.vcert.Config
메서드 NewListener
호출합니다. 예 ("test.example.com:8443", "example.com")
http.Serve
또는 기타 https 서버에 대한 인수로 얻은 net.Listener
사용하십시오.샘플은 다음 명령어를 사용하여 빌드/실행할 수 있는 상태입니다(나중에 설명하는 환경 변수 설정 후).
go build -o cli ./example
go test -v ./example -run TestRequestCertificate
View
, Read
, Write
, Create
, Revoke
(해지 작업의 경우) 및 Private Key Read
(CSR 서비스 생성 시 픽업 작업의 경우)정책에 따라 CA 템플릿을 할당해야 한다는 요구 사항은 VCert 사용자를 위해 인증서 요청 프로세스를 단순하게 유지하려는 우리의 설계 목표를 충족하는 오랜 Venafi 모범 사례를 따릅니다. 요청과 함께 CA 템플릿을 지정하는 기능이 필요한 경우 TPP REST API를 사용할 수 있지만 이는 Venafi 권장 사항에 어긋난다는 점에 유의하세요.
단위 테스트:
make test
Trust Protection Platform 및 Venafi Control Plane에 대한 통합 테스트에는 해당 제품에 대한 액세스가 필요합니다. 환경 변수는 자격 증명을 포함한 필수 설정을 지정하는 데 사용됩니다. Venafi Control Plane API 키 및 영역 값 조각(예: 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
실행 시 이러한 테스트는 Ruby 버전의 Cucumber를 사용하여 자체 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
저작권 © Venafi, Inc. 모든 권리 보유.
VCert는 Apache 라이선스 버전 2.0에 따라 라이선스가 부여됩니다. 전체 라이선스 텍스트는 LICENSE를 참조하세요.
질문/의견은 [email protected]으로 보내주세요.