Este projeto de código aberto é apoiado pela comunidade. Para relatar um problema ou compartilhar uma ideia, use Issues ; e se você tiver uma sugestão para corrigir o problema, inclua esses detalhes também. Além disso, use solicitações pull para contribuir com correções de bugs reais ou melhorias propostas. Acolhemos e agradecemos todas as contribuições. Tem dúvidas ou deseja discutir algo com nossa equipe? Junte-se a nós no Slack !
VCert é uma biblioteca Go, SDK e utilitário de linha de comando projetado para simplificar a geração de chaves e o registro de identidades de máquinas (também conhecidas como certificados e chaves SSL/TLS) que atendem à política de segurança corporativa usando a Venafi Trust Protection Platform ou Venafi Control Plane ou Venafi Firefly.
Consulte VCert CLI para Venafi Trust Protection Platform ou VCert CLI para Venafi Control Plane ou VCert CLI para Venafi Firefly para começar a usar o utilitário de linha de comando.
As versões VCert são testadas usando a versão mais recente da Trust Protection Platform. A funcionalidade geral da versão mais recente do VCert deve ser compatível com Trust Protection Platform 17.3 ou superior. Os campos personalizados e o rastreamento de instância exigem TPP 18.2 ou superior, e a autenticação de token requer TPP 20.1 ou superior.
Configure seu ambiente Go de acordo com https://golang.org/doc/install.
Verifique se a variável de ambiente GOPATH está definida corretamente
Baixe o código fonte:
go get github.com/Venafi/vcert/v5ou pré Go 1.13
git clone https://github.com/Venafi/vcert.git $GOPATH /src/github.com/Venafi/vcert/v5 Vá para 1.11 com módulos go habilitados ou vá para 1.13 e superior, certifique-se de clonar fora de $GOPATH/src
git clone https://github.com/Venafi/vcert.gitCrie os utilitários de linha de comando para Linux, macOS e Windows:
make buildPara exemplos de código de uso programático, revise os arquivos na pasta de exemplos.
main.go , faça as seguintes declarações de importação: import (
"github.com/Venafi/vcert/v5"
"github.com/Venafi/vcert/v5/pkg/certificate"
"github.com/Venafi/vcert/v5/pkg/endpoint"
)&vcert.Config que especifique os detalhes da conexão Venafi. As soluções normalmente são projetadas para obter esses detalhes de um cofre de segredos, arquivo .ini, variáveis de ambiente ou parâmetros de linha de comando.NewClient da classe vcert com o objeto de configuração.&certificate.Request .GenerateRequest do cliente.RequestCertificate do cliente.RetrieveCertificate do cliente.vcert.Config NewListener com uma lista de domínios como argumentos. Por exemplo ("test.example.com:8443", "example.com")net.Listener obtido como argumento para http.Serve integrado ou outros servidores https.As amostras estão em um estado onde você pode construí-las/executá-las usando os seguintes comandos (depois de definir as variáveis de ambiente discutidas posteriormente):
go build -o cli ./example
go test -v ./example -run TestRequestCertificateView , Read , Write , Create , Revoke (para a ação de revogação) e Private Key Read (para a ação de retirada quando o CSR é gerado pelo serviço)O requisito para que o modelo de CA seja atribuído por política segue uma prática recomendada de longa data da Venafi, que também atendeu ao nosso objetivo de design de manter o processo de solicitação de certificado simples para usuários do VCert. Se você precisar especificar o modelo CA com a solicitação, poderá usar as APIs REST TPP, mas esteja ciente de que isso vai contra as recomendações da Venafi.
Testes unitários:
make test Os testes de integração para Trust Protection Platform e Venafi Control Plane exigem acesso a esses produtos. Variáveis de ambiente são usadas para especificar configurações necessárias, incluindo credenciais. A chave da API Venafi Control Plane e os fragmentos do valor da zona (ou seja, Application Name Issuing Template API Alias ) estão prontamente disponíveis na interface da 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_testOs testes de utilitários de linha de comando usam arquivos de recursos do Cucumber e Aruba.
Para executar testes para todos os recursos em paralelo:
make cucumberPara executar testes apenas para um recurso específico:
make cucumber FEATURE=./features/basic/version.featureOs recursos disponíveis são:
basicconfigenrollformatgencsrrenewrevoke Quando executados, esses testes serão executados em seu próprio contêiner Docker usando a versão Ruby do Cucumber.
A execução de teste concluída informará o número de cenários de teste e etapas que foram aprovadas, reprovadas ou ignoradas.
Para obter explicações detalhadas sobre o manual e como ele é construído, verifique aqui: Readme Playbook
Venafi agradece contribuições da comunidade de desenvolvedores.
git clone [email protected]:youracct/vcert.gitgit checkout -b your-branch-namegit commit -am ' Added some cool functionality 'git push origin your-branch-nameCopyright © Venafi, Inc. Todos os direitos reservados.
VCert é licenciado sob a Licença Apache, Versão 2.0. Consulte LICENÇA para obter o texto completo da licença.
Por favor, direcione perguntas/comentários para [email protected].