Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sapcc/go-certcentral

GoLang client for the DigiCert cert-central API.
https://github.com/sapcc/go-certcentral

cert-central digicert digicert-certificate golang-client

Last synced: 11 days ago
JSON representation

GoLang client for the DigiCert cert-central API.

Awesome Lists containing this project

README

        

go-certcentral
--------------

GoLang client for the [DigiCert cert-central services API](https://dev.digicert.com/services-api).

# Usage

```go
import cc "github.com/sapcc/go-certcentral"

client, err := cc.New(&cc.Options{
Token: "DIGICERT_API_TOKEN",
IsDebug: false,
})
handleError(err)

// Submit a certificate order.
orderResponse, err := cli.SubmitOrder(
cc.Order{
Certificate: cc.Certificate{
CommonName: csr.Subject.CommonName,
DNSNames: csr.DNSNames,
CSR: csr.PEM,
ServerPlatform: cc.ServerPlatformForType(cc.ServerPlatformTypes.Nginx),
SignatureHash: cc.SignatureHashes.SHA256,
CaCertID: "CACertID",
OrganizationUnits: []string{
"SomeOrganization ",
},
},
ValidityYears: 1,
DisableRenewalNotifications: true,
PaymentMethod: cc.PaymentMethods.Balance,
SkipApproval: true,
Organization: &cc.Organization{ID: 123456},
}, cc.OrderTypes.PrivateSSLPlus)
handleError(err)

// If auto-approval is allowed the response contains the full chain of certificates in PEM format.
if len(orderResponse.CertificateChain) > 0 {
crtChain, err := orderResponse.DecodeCertificateChain()
handleError(err)

for _, crt := range crtChain {
fmt.Println(crt.Subject.CommonName)
}
}

// Download the certificate(s) for an order.
certList, err := client.DownloadCertificateForOrder("123456", cc.CertificateFormats.PEMAll)
handlerError(err)
for _, cert := range certList {
fmt.Println(cert.Subject.CommonName)
}

```