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. Campos personalizados e rastreamento de instância exigem TPP 18.2 ou superior, e 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/v5
ou 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.git
Crie os utilitários de linha de comando para Linux, macOS e Windows:
make build
Para 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 TestRequestCertificate
View
, 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_test
Os 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 cucumber
Para executar testes apenas para um recurso específico:
make cucumber FEATURE=./features/basic/version.feature
Os recursos disponíveis são:
basic
config
enroll
format
gencsr
renew
revoke
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 reportará 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.git
git checkout -b your-branch-name
git commit -am ' Added some cool functionality '
git push origin your-branch-name
Copyright © 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].