Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CertTypeFromCert ¶
func CertTypeFromCert(cert *x509.Certificate) string
CertTypeFromCert determines the certificate type based on its properties.
func ParseCertPEM ¶ added in v0.7.0
func ParseCertPEM(pemText string) (*x509.Certificate, error)
func ValidStartTLSProtocol ¶ added in v1.0.0
ValidStartTLSProtocol returns true if the given protocol name is supported.
Types ¶
type BasicConstraints ¶
type BasicConstraints struct {
IsCA bool `json:"is_ca" yaml:"is_ca"`
MaxPathLen int `json:"max_path_len,omitempty" yaml:"max_path_len,omitempty"`
}
BasicConstraints holds CA constraint information.
type CertInfo ¶
type CertInfo struct {
Type string `json:"type" yaml:"type"`
Version int `json:"version" yaml:"version"`
SerialNumber string `json:"serial_number" yaml:"serial_number"`
SignatureAlgorithm string `json:"signature_algorithm" yaml:"signature_algorithm"`
Issuer string `json:"issuer" yaml:"issuer"`
Subject string `json:"subject" yaml:"subject"`
CommonName string `json:"common_name" yaml:"common_name"`
NotBefore string `json:"not_before" yaml:"not_before"`
NotAfter string `json:"not_after" yaml:"not_after"`
PublicKeyAlgorithm string `json:"public_key_algorithm" yaml:"public_key_algorithm"`
KeyUsage []string `json:"key_usage,omitempty" yaml:"key_usage,omitempty"`
ExtKeyUsage []string `json:"extended_key_usage,omitempty" yaml:"extended_key_usage,omitempty"`
BasicConstraints *BasicConstraints `json:"basic_constraints,omitempty" yaml:"basic_constraints,omitempty"`
SubjectKeyID string `json:"subject_key_id,omitempty" yaml:"subject_key_id,omitempty"`
AuthorityKeyID string `json:"authority_key_id,omitempty" yaml:"authority_key_id,omitempty"`
SubjectAltNames []string `json:"subject_alternative_names,omitempty" yaml:"subject_alternative_names,omitempty"`
EmailAddresses []string `json:"email_addresses,omitempty" yaml:"email_addresses,omitempty"`
IPAddresses []string `json:"ip_addresses,omitempty" yaml:"ip_addresses,omitempty"`
OCSPServers []string `json:"ocsp_servers,omitempty" yaml:"ocsp_servers,omitempty"`
IssuingCertURL []string `json:"issuing_cert_url,omitempty" yaml:"issuing_cert_url,omitempty"`
CRLDistPoints []string `json:"crl_distribution_points,omitempty" yaml:"crl_distribution_points,omitempty"`
Fingerprint Fingerprint `json:"fingerprint" yaml:"fingerprint"`
PEM string `json:"pem,omitempty" yaml:"pem,omitempty"`
Revocation *revocation.Info `json:"revocation,omitempty" yaml:"revocation,omitempty"`
}
CertInfo holds the extracted certificate metadata.
func CertInfoFromCert ¶
func CertInfoFromCert(cert *x509.Certificate) CertInfo
CertInfoFromCert creates a CertInfo from an x509.Certificate.
func (*CertInfo) DisplayName ¶
type ChainInfo ¶
type ChainInfo struct {
Certificates []CertInfo `json:"certificates" yaml:"certificates"`
Verified bool `json:"verified" yaml:"verified"`
VerificationError string `json:"verification_error,omitempty" yaml:"verification_error,omitempty"`
TLSVersions []string `json:"tls_versions,omitempty" yaml:"tls_versions,omitempty"`
}
ChainInfo holds the full certificate chain.
func ParsePEM ¶
func ParsePEM(data []byte, opts PEMOptions) (*ChainInfo, error)
ParsePEM parses PEM-encoded certificate data and returns certificate information.
func ParsePEMFile ¶
func ParsePEMFile(path string, opts PEMOptions) (*ChainInfo, error)
ParsePEMFile reads a PEM file and returns certificate information for all certificates found.
func Query ¶
func Query(endpoint string, opts QueryOptions) (*ChainInfo, error)
Query connects to the given endpoint and retrieves certificate chain information.
func (*ChainInfo) ChainNames ¶
func (*ChainInfo) WithoutPEM ¶
type Fingerprint ¶
type Fingerprint struct {
SHA1 string `json:"sha1" yaml:"sha1"`
SHA256 string `json:"sha256" yaml:"sha256"`
}
Fingerprint holds SHA1 and SHA256 fingerprints of a certificate.
type PEMOptions ¶ added in v0.6.0
type PEMOptions struct {
CACertFile string // Path to custom CA certificate file (PEM format)
}
PEMOptions configures PEM parsing and verification behavior.
type QueryOptions ¶
type QueryOptions struct {
CACertFile string // Path to custom CA certificate file (PEM format)
Proxy string // Proxy URL (e.g. http://proxy:8080). If empty, HTTPS_PROXY/HTTP_PROXY env vars are used.
TLSVersions bool // Probe and display supported TLS versions.
ServerName string // SNI override for TLS handshake (useful when connecting by IP).
StartTLS string // STARTTLS protocol: smtp, imap, pop3, ldap.
Insecure bool // Skip TLS certificate verification.
}
QueryOptions configures the TLS query behavior.