Documentation
¶
Overview ¶
Package certificate provides functionality for loading, parsing, and validating X.509 certificates and chains.
Index ¶
- func ExportCertificate(cert *x509.Certificate, format string, filename string) error
- func FormatCertificateDetails(cert *Info) string
- func FormatCertificateKeyInfo(cert *Info) string
- func FormatCertificateList(certs []*Info) string
- func FormatCertificateSummary(cert *Info) string
- func FormatChainValidation(result *ValidationResult) string
- func FormatFingerprint(cert *x509.Certificate) string
- func FormatIssuer(cert *x509.Certificate) string
- func FormatPublicKey(cert *x509.Certificate) string
- func FormatSAN(cert *x509.Certificate) string
- func FormatSubject(cert *x509.Certificate) string
- func FormatValidity(cert *x509.Certificate) string
- func GenerateSelfSignedCert(host string, certFile, keyFile string) error
- func IsExpired(cert *x509.Certificate) bool
- func IsExpiringSoon(cert *x509.Certificate) bool
- func SortChain(certs []*x509.Certificate) ([]*x509.Certificate, error)
- func ValidateChain(certs []*x509.Certificate) (bool, error)
- func ValidateChainLinks(certs []*Info)
- type ChainValidationResult
- type Info
- type ValidationResult
- type ValidationStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExportCertificate ¶
func ExportCertificate(cert *x509.Certificate, format string, filename string) error
ExportCertificate exports a certificate to a file
func FormatCertificateDetails ¶ added in v0.3.0
FormatCertificateDetails formats detailed certificate information
func FormatCertificateKeyInfo ¶ added in v0.3.0
FormatCertificateKeyInfo formats information about the certificate's public key
func FormatCertificateList ¶ added in v0.3.0
FormatCertificateList formats a list of certificates for display
func FormatCertificateSummary ¶ added in v0.3.0
FormatCertificateSummary formats a summary of certificate information
func FormatChainValidation ¶
func FormatChainValidation(result *ValidationResult) string
FormatChainValidation formats the validation results
func FormatFingerprint ¶
func FormatFingerprint(cert *x509.Certificate) string
FormatFingerprint formats certificate fingerprint
func FormatIssuer ¶
func FormatIssuer(cert *x509.Certificate) string
FormatIssuer formats certificate issuer information
func FormatPublicKey ¶
func FormatPublicKey(cert *x509.Certificate) string
FormatPublicKey formats public key information with detailed specifications
func FormatSAN ¶
func FormatSAN(cert *x509.Certificate) string
FormatSAN formats Subject Alternative Names
func FormatSubject ¶
func FormatSubject(cert *x509.Certificate) string
FormatSubject formats certificate subject information
func FormatValidity ¶
func FormatValidity(cert *x509.Certificate) string
FormatValidity formats certificate validity information
func GenerateSelfSignedCert ¶ added in v0.3.0
GenerateSelfSignedCert generates a self-signed certificate
func IsExpired ¶
func IsExpired(cert *x509.Certificate) bool
IsExpired checks if certificate is expired
func IsExpiringSoon ¶
func IsExpiringSoon(cert *x509.Certificate) bool
IsExpiringSoon checks if certificate expires within 30 days
func SortChain ¶ added in v0.4.0
func SortChain(certs []*x509.Certificate) ([]*x509.Certificate, error)
SortChain sorts certificates into valid chains [Leaf, Intermediate, Root]
func ValidateChain ¶
func ValidateChain(certs []*x509.Certificate) (bool, error)
ValidateChain validates a certificate chain using x509.Verify
func ValidateChainLinks ¶ added in v0.5.0
func ValidateChainLinks(certs []*Info)
ValidateChainLinks performs a detailed validation of each link in the certificate chain. It no longer assumes the certs are sorted.
Types ¶
type ChainValidationResult ¶
ChainValidationResult holds the result of chain validation
type Info ¶ added in v0.5.0
type Info struct {
Certificate *x509.Certificate
Index int
Label string
ValidationStatus ValidationStatus
ValidationError error
}
Info holds certificate data and metadata
func LoadCertificates ¶
LoadCertificates loads certificates from a file or stdin
func ParseCertificates ¶
ParseCertificates parses PEM blocks and extracts certificates
type ValidationResult ¶ added in v0.3.0
ValidationResult represents the result of certificate chain validation
type ValidationStatus ¶ added in v0.5.0
type ValidationStatus int
ValidationStatus represents the validation status of a single certificate in the chain.
const ( // StatusUnknown represents an uninitialized or unknown status StatusUnknown ValidationStatus = iota // StatusValid represents a verified valid certificate StatusValid // StatusGood represents a certificate that is syntactically correct and not expired StatusGood // StatusWarning represents a potential issue (e.g., expiring soon) StatusWarning // StatusExpired represents an expired certificate StatusExpired // StatusRevoked represents a revoked certificate StatusRevoked // StatusMismatchedIssuer represents a chain link error where issuer doesn't match StatusMismatchedIssuer // StatusInvalidSignature represents a failed signature verification StatusInvalidSignature )