Este proyecto de código abierto cuenta con el apoyo de la comunidad. Para informar un problema o compartir una idea, utilice Problemas ; y si tiene alguna sugerencia para solucionar el problema, incluya también esos detalles. Además, utilice solicitudes de extracción para contribuir con correcciones de errores reales o mejoras propuestas. Damos la bienvenida y apreciamos todas las contribuciones. ¿Tiene preguntas o quiere discutir algo con nuestro equipo? ¡Únase a nosotros en Slack !
VCert es una biblioteca Go, un SDK y una utilidad de línea de comandos diseñada para simplificar la generación de claves y el registro de identidades de máquinas (también conocidas como claves y certificados SSL/TLS) que cumplen con la política de seguridad empresarial mediante el uso de Venafi Trust Protection Platform o Venafi Control Plane. o Venafi Luciérnaga.
Consulte VCert CLI para Venafi Trust Protection Platform o VCert CLI para Venafi Control Plane o VCert CLI para Venafi Firefly para comenzar con la utilidad de línea de comandos.
Las versiones de VCert se prueban utilizando la última versión de Trust Protection Platform. La funcionalidad general de la última versión de VCert debe ser compatible con Trust Protection Platform 17.3 o superior. Los campos personalizados y el seguimiento de instancias requieren TPP 18.2 o superior, y la autenticación de token requiere TPP 20.1 o superior.
Configure su entorno Go de acuerdo con https://golang.org/doc/install.
Verifique que la variable de entorno GOPATH esté configurada correctamente
Descarga el código fuente:
go get github.com/Venafi/vcert/v5
o anterior a Go 1.13
git clone https://github.com/Venafi/vcert.git $GOPATH /src/github.com/Venafi/vcert/v5
Vaya a 1.11 con los módulos go habilitados o vaya a 1.13 y versiones posteriores, asegúrese de clonar fuera de $GOPATH/src
git clone https://github.com/Venafi/vcert.git
Cree las utilidades de línea de comandos para Linux, macOS y Windows:
make build
Para ver ejemplos de código de uso programático, revise los archivos en la carpeta de ejemplos.
main.go
, haga las siguientes declaraciones de importación: import (
"github.com/Venafi/vcert/v5"
"github.com/Venafi/vcert/v5/pkg/certificate"
"github.com/Venafi/vcert/v5/pkg/endpoint"
)
&vcert.Config
que especifique los detalles de la conexión de Venafi. Las soluciones suelen estar diseñadas para obtener esos detalles de una bóveda de secretos, un archivo .ini, variables de entorno o parámetros de línea de comandos.NewClient
de la clase vcert con el objeto de configuración.&certificate.Request
.GenerateRequest
del cliente.RequestCertificate
del cliente.RetrieveCertificate
del cliente.vcert.Config
NewListener
con una lista de dominios como argumentos. Por ejemplo ("test.example.com:8443", "example.com")
net.Listener
como argumento para http.Serve
integrado u otros servidores https.Los ejemplos se encuentran en un estado en el que puede compilarlos/ejecutarlos usando los siguientes comandos (después de configurar las variables de entorno que se analizan más adelante):
go build -o cli ./example
go test -v ./example -run TestRequestCertificate
View
, Read
, Write
, Create
, Revoke
(para la acción de revocación) y Private Key Read
(para la acción de recogida cuando se genera el servicio CSR)El requisito de que la plantilla de CA sea asignada por política sigue una de las mejores prácticas de Venafi de larga data que también cumplió con nuestro objetivo de diseño de mantener el proceso de solicitud de certificado simple para los usuarios de VCert. Si necesita la capacidad de especificar la plantilla de CA con la solicitud, puede utilizar las API REST de TPP, pero tenga en cuenta que esto va en contra de las recomendaciones de Venafi.
Pruebas unitarias:
make test
Las pruebas de integración para Trust Protection Platform y Venafi Control Plane requieren acceso a esos productos. Las variables de entorno se utilizan para especificar la configuración requerida, incluidas las credenciales. La clave API del plano de control de Venafi y los fragmentos de valores de zona (es decir, Application Name
Issuing Template API Alias
) están disponibles en la interfaz 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
Las pruebas de utilidad de línea de comandos utilizan archivos de funciones de Cucumber & Aruba.
Para ejecutar pruebas para todas las funciones en paralelo:
make cucumber
Para ejecutar pruebas solo para una característica específica:
make cucumber FEATURE=./features/basic/version.feature
Las características disponibles son:
basic
config
enroll
format
gencsr
renew
revoke
Cuando se ejecuten, estas pruebas se ejecutarán en su propio contenedor Docker utilizando la versión Ruby de Cucumber.
La ejecución de prueba completa informará sobre la cantidad de escenarios de prueba y pasos que pasaron, fallaron o se omitieron.
Para obtener explicaciones detalladas sobre el libro de jugadas y cómo se construye, consulta aquí: Léame Playbook
Venafi agradece las contribuciones de la comunidad de desarrolladores.
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 los derechos reservados.
VCert tiene la licencia Apache, versión 2.0. Consulte LICENCIA para obtener el texto completo de la licencia.
Dirija sus preguntas/comentarios a [email protected].