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/v5ou 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.gitCréez les utilitaires de ligne de commande pour Linux, macOS et Windows :
make buildPour obtenir 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 TestRequestCertificateView , 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_testLes 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 cucumberPour exécuter des tests uniquement pour une fonctionnalité spécifique :
make cucumber FEATURE=./features/basic/version.featureLes fonctionnalités disponibles sont :
basicconfigenrollformatgencsrrenewrevoke 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.gitgit checkout -b your-branch-namegit commit -am ' Added some cool functionality 'git push origin your-branch-nameCopyright © 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].