Ce projet open source est soutenu par la communauté. Pour signaler un problème ou partager une idée, utilisez Issues ; et si vous avez une suggestion pour résoudre le problème, veuillez également inclure ces détails. De plus, utilisez les Pull Requests pour contribuer à des corrections de bugs réelles ou à des améliorations proposées. Nous accueillons et apprécions toutes les contributions. Vous avez des questions ou souhaitez discuter de quelque chose avec notre équipe ? Rejoignez-nous sur Slack !
VCert est une bibliothèque Go, un SDK et un utilitaire de ligne de commande conçus pour simplifier la génération de clés et l'enregistrement d'identités de machine (également appelées certificats et clés SSL/TLS) conformes à la politique de sécurité de l'entreprise en utilisant la plateforme de protection de confiance Venafi ou le plan de contrôle Venafi. ou Venafi Firefly.
Voir VCert CLI pour Venafi Trust Protection Platform ou VCert CLI pour Venafi Control Plane ou VCert CLI pour Venafi Firefly pour démarrer avec l'utilitaire de ligne de commande.
Les versions de VCert sont testées à l'aide de la dernière version de Trust Protection Platform. Les fonctionnalités générales de la dernière version de VCert doivent être compatibles avec Trust Protection Platform 17.3 ou version ultérieure. Les champs personnalisés et le suivi des instances nécessitent TPP 18.2 ou supérieur, et l'authentification par jeton nécessite TPP 20.1 ou supérieur.
Configurez votre environnement Go selon https://golang.org/doc/install.
Vérifiez que la variable d'environnement GOPATH est correctement définie
Téléchargez le code source :
go get github.com/Venafi/vcert/v5
ou avant Go 1.13
git clone https://github.com/Venafi/vcert.git $GOPATH /src/github.com/Venafi/vcert/v5
Passez à la version 1.11 avec les modules go activés ou à la version 1.13 et supérieure, assurez-vous de cloner en dehors de $GOPATH/src
git clone https://github.com/Venafi/vcert.git
Créez les utilitaires de ligne de commande pour Linux, macOS et Windows :
make build
Pour des exemples de code d’utilisation programmatique, veuillez consulter les fichiers dans le dossier d’exemples.
main.go
, effectuez les déclarations d'importation suivantes : import (
"github.com/Venafi/vcert/v5"
"github.com/Venafi/vcert/v5/pkg/certificate"
"github.com/Venafi/vcert/v5/pkg/endpoint"
)
&vcert.Config
qui spécifie les détails de la connexion Venafi. Les solutions sont généralement conçues pour obtenir ces détails à partir d'un coffre-fort de secrets, d'un fichier .ini, de variables d'environnement ou de paramètres de ligne de commande.NewClient
de la classe vcert avec l'objet de configuration.&certificate.Request
.GenerateRequest
du client.RequestCertificate
du client.RetrieveCertificate
du client.vcert.Config
NewListener
avec la liste des domaines comme arguments. Par exemple ("test.example.com:8443", "example.com")
net.Listener
comme argument pour http.Serve
intégré ou d'autres serveurs https.Les exemples sont dans un état dans lequel vous pouvez les créer/exécuter à l'aide des commandes suivantes (après avoir défini les variables d'environnement évoquées plus loin) :
go build -o cli ./example
go test -v ./example -run TestRequestCertificate
View
, Read
, Write
, Create
, Revoke
(pour l'action de révocation) et Private Key Read
(pour l'action de récupération lorsque le CSR est généré par le service)L'exigence selon laquelle le modèle CA doit être attribué par politique suit une bonne pratique Venafi de longue date qui répond également à notre objectif de conception visant à simplifier le processus de demande de certificat pour les utilisateurs de VCert. Si vous avez besoin de pouvoir spécifier le modèle CA avec la demande, vous pouvez utiliser les API REST TPP, mais veuillez noter que cela va à l'encontre des recommandations de Venafi.
Tests unitaires :
make test
Les tests d'intégration pour Trust Protection Platform et Venafi Control Plane nécessitent l'accès à ces produits. Les variables d'environnement sont utilisées pour spécifier les paramètres requis, y compris les informations d'identification. La clé API du plan de contrôle Venafi et les fragments de valeur de zone (c'est-à-dire Application Name
Issuing Template API Alias
) sont facilement disponibles dans l'interface 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
Les tests d'utilitaires de ligne de commande utilisent les fichiers de fonctionnalités Cucumber & Aruba.
Pour exécuter des tests pour toutes les fonctionnalités en parallèle :
make cucumber
Pour exécuter des tests uniquement pour une fonctionnalité spécifique :
make cucumber FEATURE=./features/basic/version.feature
Les fonctionnalités disponibles sont :
basic
config
enroll
format
gencsr
renew
revoke
Une fois exécutés, ces tests seront exécutés dans leur propre conteneur Docker en utilisant la version Ruby de Cucumber.
L'exécution du test terminée rendra compte du nombre de scénarios de test et d'étapes qui ont réussi, échoué ou ont été ignorées.
Pour des explications détaillées sur le playbook et comment il est construit, veuillez consulter ici : Readme Playbook
Venafi accueille les contributions de la communauté des développeurs.
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. Tous droits réservés.
VCert est sous licence Apache, version 2.0. Voir LICENCE pour le texte complet de la licence.
Veuillez adresser vos questions/commentaires à [email protected].