certcrypto

package
v5.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// OCSPGood means that the certificate is valid.
	OCSPGood = ocsp.Good
	// OCSPRevoked means that the certificate has been deliberately revoked.
	OCSPRevoked = ocsp.Revoked
	// OCSPUnknown means that the OCSP responder doesn't know about the certificate.
	OCSPUnknown = ocsp.Unknown
	// OCSPServerFailed means that the OCSP responder failed to process the request.
	OCSPServerFailed = ocsp.ServerFailed
)
View Source
const (
	EC256   = KeyType("EC256")
	EC384   = KeyType("EC384")
	RSA2048 = KeyType("RSA2048")
	RSA3072 = KeyType("RSA3072")
	RSA4096 = KeyType("RSA4096")
	RSA8192 = KeyType("RSA8192")
)

Constants for all key types we support.

View Source
const (
	PKCS12LegacyDES  = "DES"
	PKCS12LegacyRC2  = "RC2"
	PKCS12Modern2023 = "SHA256"
	PKCS12Modern2026 = "PBMAC1"
)

Constants for all PKCS#12 encryption format we support.

Variables

This section is empty.

Functions

func AllPKCS12Formats

func AllPKCS12Formats() []string

func CreateCSR

func CreateCSR(privateKey crypto.Signer, opts CSROptions) ([]byte, error)

func ExtractDomains

func ExtractDomains(cert *x509.Certificate) []string

func ExtractDomainsCSR

func ExtractDomainsCSR(csr *x509.CertificateRequest) []string

func GeneratePemCert

func GeneratePemCert(privateKey *rsa.PrivateKey, domain string, extensions []pkix.Extension) ([]byte, error)

func GeneratePrivateKey

func GeneratePrivateKey(keyType KeyType) (crypto.Signer, error)

func GetCSRMainDomain

func GetCSRMainDomain(cert *x509.CertificateRequest) (string, error)

func GetCertificateMainDomain

func GetCertificateMainDomain(cert *x509.Certificate) (string, error)

func GetPKCS12Encoder

func GetPKCS12Encoder(format string) (*pkcs12.Encoder, error)

GetPKCS12Encoder returns a PKCS12 encoder based on the provided format.

func IsPKCS12Supported

func IsPKCS12Supported(format string) bool

IsPKCS12Supported checks if the provided format is a supported PKCS#12 encryption format.

func IsSupported

func IsSupported(keyType KeyType) bool

IsSupported checks if the key type is supported.

func PEMBlock

func PEMBlock(data any) *pem.Block

func PEMEncode

func PEMEncode(data any) []byte

func ParsePEMBundle

func ParsePEMBundle(bundle []byte) ([]*x509.Certificate, error)

ParsePEMBundle parses a certificate bundle from top to bottom and returns a slice of x509 certificates. This function will error if no certificates are found.

func ParsePEMCertificate

func ParsePEMCertificate(cert []byte) (*x509.Certificate, error)

ParsePEMCertificate returns Certificate from a PEM encoded certificate. The certificate has to be PEM encoded. Any other encodings like DER will fail.

func ParsePEMPrivateKey

func ParsePEMPrivateKey(key []byte) (crypto.Signer, error)

ParsePEMPrivateKey parses a private key from key, which is a PEM block. Borrowed from Go standard library, to handle various private key and PEM block types. https://github.com/golang/go/blob/693748e9fa385f1e2c3b91ca9acbb6c0ad2d133d/src/crypto/tls/tls.go#L291-L308 https://github.com/golang/go/blob/693748e9fa385f1e2c3b91ca9acbb6c0ad2d133d/src/crypto/tls/tls.go#L238

func PemDecodeTox509CSR

func PemDecodeTox509CSR(data []byte) (*x509.CertificateRequest, error)

Types

type CSROptions

type CSROptions struct {
	Domain         string
	SAN            []string
	MustStaple     bool
	EmailAddresses []string
}

type DERCertificateBytes

type DERCertificateBytes []byte

type KeyType

type KeyType string

KeyType represents the key algo as well as the key size or curve to use.

func AllKeyTypes

func AllKeyTypes() []KeyType

func GetCSRKeyType

func GetCSRKeyType(csr *x509.CertificateRequest) (KeyType, error)

GetCSRKeyType gets the key type based on the public key from x509.CertificateRequest.

func GetCertificateKeyType

func GetCertificateKeyType(cert *x509.Certificate) (KeyType, error)

GetCertificateKeyType gets the key type based on the public key from x509.Certificate.

func GetKeyType

func GetKeyType(key any) (KeyType, error)

GetKeyType gets the key type.

func GetPrivateKeyType

func GetPrivateKeyType(signer crypto.Signer) (KeyType, error)

GetPrivateKeyType gets the key type based on the public key from crypto.Signer.

func ToKeyType

func ToKeyType(keyType string) (KeyType, error)

ToKeyType gets a key type from a string.

func (KeyType) String

func (k KeyType) String() string

Directories

Path Synopsis
Package compat provides compatibility with lego/v4.
Package compat provides compatibility with lego/v4.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL