cert

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPFXPasswordRequired = errors.New("pkcs12: password required")
)

Functions

func ToCertificatePolicies

func ToCertificatePolicies(in []byte) ([]string, error)

ToCertificatePolicies returns slice of "identifier: qualifier" values

func ToExtendedKeyUsage

func ToExtendedKeyUsage(in []byte) ([]string, error)

func ToGeneralNames

func ToGeneralNames(in []byte) ([]string, error)

ToGeneralNames returns slice of "type: value1, value2, valueX" strings

func ToKeyUsage

func ToKeyUsage(in []byte) ([]string, error)
KeyUsage ::= BIT STRING {
   digitalSignature        (0),
   nonRepudiation          (1),  -- recent editions of X.509 have
                              -- renamed this bit to contentCommitment
   keyEncipherment         (2),
   dataEncipherment        (3),
   keyAgreement            (4),
   keyCertSign             (5),
   cRLSign                 (6),
   encipherOnly            (7),
   decipherOnly            (8) }

func ToRelativeDistinguishedName

func ToRelativeDistinguishedName(in []byte) ([]string, error)

ToRelativeDistinguishedName returns slice of "type: value" strings

func ToSignedCertificateTimestampList

func ToSignedCertificateTimestampList(in []byte) ([]byte, error)

Types

type AccessDescription

type AccessDescription struct {
	AccessMethod   string
	AccessLocation string
}

func ToAuthorityInformationAccess

func ToAuthorityInformationAccess(in []byte) ([]AccessDescription, error)

type AuthorityKeyIdentifier

type AuthorityKeyIdentifier struct {
	KeyIdentifier             []byte
	AuthorityCertIssuer       []string
	AuthorityCertSerialNumber int
}

AuthorityKeyIdentifier ::= SEQUENCE { keyIdentifier [0] KeyIdentifier OPTIONAL, authorityCertIssuer [1] GeneralNames OPTIONAL, authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL } -- authorityCertIssuer and authorityCertSerialNumber MUST both -- be present or both be absent

func ToAuthorityKeyIdentifier

func ToAuthorityKeyIdentifier(in []byte) (AuthorityKeyIdentifier, error)

type BasicConstraints

type BasicConstraints struct {
	CA                bool `asn1:"optional"`
	PathLenConstraint int  `asn1:"optional"`
}

BasicConstraints ::= SEQUENCE { cA BOOLEAN DEFAULT FALSE, pathLenConstraint INTEGER (0..MAX) OPTIONAL }

func ToBasicConstraints

func ToBasicConstraints(in []byte) (BasicConstraints, error)

type CSR added in v0.0.3

type CSR struct {
	// contains filtered or unexported fields
}

func (CSR) DNSNames added in v0.0.3

func (c CSR) DNSNames() []string

func (CSR) EmailAddresses added in v0.0.3

func (c CSR) EmailAddresses() []string

func (CSR) Error added in v0.0.3

func (c CSR) Error() error

func (CSR) Extensions added in v0.0.3

func (c CSR) Extensions() []Extension

func (CSR) IPAddresses added in v0.0.3

func (c CSR) IPAddresses() []string

func (CSR) PublicKeyAlgorithm added in v0.0.3

func (c CSR) PublicKeyAlgorithm() string

func (CSR) Signature added in v0.0.3

func (c CSR) Signature() string

func (CSR) SignatureAlgorithm added in v0.0.3

func (c CSR) SignatureAlgorithm() string

func (CSR) SubjectString added in v0.0.3

func (c CSR) SubjectString() string

func (CSR) ToPEM added in v0.0.3

func (c CSR) ToPEM() []byte

func (CSR) URIs added in v0.0.3

func (c CSR) URIs() []string

func (CSR) Version added in v0.0.3

func (c CSR) Version() int

type CSRLocation added in v0.0.3

type CSRLocation struct {
	Path  string
	Error error
	CSRs  CSRs
}

func LoadCSRFromClipboard added in v0.0.3

func LoadCSRFromClipboard() CSRLocation

func LoadCSRFromStdin added in v0.0.3

func LoadCSRFromStdin() CSRLocation

func LoadCSRsFromFile added in v0.0.3

func LoadCSRsFromFile(fileName string) CSRLocation

func (CSRLocation) Name added in v0.0.3

func (c CSRLocation) Name() string

type CSRLocations added in v0.0.3

type CSRLocations []CSRLocation

type CSRs added in v0.0.3

type CSRs []CSR

func FromCSRBytes added in v0.0.3

func FromCSRBytes(data []byte) (CSRs, error)

FromCSRBytes converts raw CSR bytes to CSR structures. Supports PEM and DER formats.

func FromX509CertificateRequests added in v0.0.3

func FromX509CertificateRequests(csrs []*x509.CertificateRequest) CSRs

FromX509CertificateRequests converts x509.CertificateRequest slice to CSRs

type Certificate

type Certificate struct {
	// contains filtered or unexported fields
}

func (Certificate) AuthorityKeyId

func (c Certificate) AuthorityKeyId() string

func (Certificate) DNSNames

func (c Certificate) DNSNames() []string

func (Certificate) Error

func (c Certificate) Error() error

func (Certificate) ExtKeyUsage

func (c Certificate) ExtKeyUsage() []string

ExtKeyUsage extended key usage string representation

func (Certificate) Extensions

func (c Certificate) Extensions() []Extension

func (Certificate) IPAddresses

func (c Certificate) IPAddresses() []string

func (Certificate) IsCA

func (c Certificate) IsCA() bool

func (Certificate) IsExpired

func (c Certificate) IsExpired() bool

func (Certificate) Issuer

func (c Certificate) Issuer() string

func (Certificate) KeyUsage

func (c Certificate) KeyUsage() []string

func (Certificate) NotAfter

func (c Certificate) NotAfter() time.Time

func (Certificate) NotBefore

func (c Certificate) NotBefore() time.Time

func (Certificate) PublicKeyAlgorithm

func (c Certificate) PublicKeyAlgorithm() string

func (Certificate) SerialNumber

func (c Certificate) SerialNumber() string

func (Certificate) Signature

func (c Certificate) Signature() string

func (Certificate) SignatureAlgorithm

func (c Certificate) SignatureAlgorithm() string

func (Certificate) SubjectKeyId

func (c Certificate) SubjectKeyId() string

func (Certificate) SubjectString

func (c Certificate) SubjectString() string

func (Certificate) ToPEM

func (c Certificate) ToPEM() []byte

func (Certificate) Type

func (c Certificate) Type() string

func (Certificate) Version

func (c Certificate) Version() int

type CertificateLocation

type CertificateLocation struct {
	TLSVersion   uint16 // only applicable for network certificates
	Path         string
	Error        error
	Certificates Certificates
}

func LoadCertificateFromClipboard

func LoadCertificateFromClipboard(password string) CertificateLocation

func LoadCertificateFromStdin

func LoadCertificateFromStdin(password string) CertificateLocation

func LoadCertificatesFromFile

func LoadCertificatesFromFile(fileName string, password string) CertificateLocation

func LoadCertificatesFromNetwork

func LoadCertificatesFromNetwork(addr string, serverName string, tlsSkipVerify bool) CertificateLocation

func (CertificateLocation) Chains

func (c CertificateLocation) Chains() ([]Certificates, error)

func (CertificateLocation) IssuerLike

func (c CertificateLocation) IssuerLike(issuer string) CertificateLocation

func (CertificateLocation) Name

func (c CertificateLocation) Name() string

func (CertificateLocation) RemoveDuplicates

func (c CertificateLocation) RemoveDuplicates() CertificateLocation

func (CertificateLocation) RemoveExpired

func (c CertificateLocation) RemoveExpired() CertificateLocation

func (CertificateLocation) SortByExpiry

func (c CertificateLocation) SortByExpiry() CertificateLocation

func (CertificateLocation) SubjectLike

func (c CertificateLocation) SubjectLike(subject string) CertificateLocation

type CertificateLocations

type CertificateLocations []CertificateLocation

func (CertificateLocations) IssuerLike

func (c CertificateLocations) IssuerLike(issuer string) CertificateLocations

func (CertificateLocations) RemoveDuplicates

func (c CertificateLocations) RemoveDuplicates() CertificateLocations

func (CertificateLocations) RemoveExpired

func (c CertificateLocations) RemoveExpired() CertificateLocations

func (CertificateLocations) SortByExpiry

func (c CertificateLocations) SortByExpiry() CertificateLocations

func (CertificateLocations) SubjectLike

func (c CertificateLocations) SubjectLike(subject string) CertificateLocations

type Certificates

type Certificates []Certificate

func FromBytes

func FromBytes(data []byte, password string) (Certificates, error)

FromBytes converts raw certificate bytes to certificate, if the supplied data is cert bundle (or chain) all the certificates will be returned. Supports PEM, DER, and PKCS12 formats.

func FromX509Certificates

func FromX509Certificates(cs []*x509.Certificate) Certificates

func (Certificates) IssuerLike

func (c Certificates) IssuerLike(issuer string) Certificates

func (Certificates) RemoveDuplicates

func (c Certificates) RemoveDuplicates() Certificates

func (Certificates) RemoveExpired

func (c Certificates) RemoveExpired() Certificates

func (Certificates) SortByExpiry

func (c Certificates) SortByExpiry() Certificates

func (Certificates) SubjectLike

func (c Certificates) SubjectLike(subject string) Certificates

type ContentType added in v0.0.3

type ContentType int

ContentType indicates whether content is a certificate or CSR

const (
	ContentTypeCertificate ContentType = iota
	ContentTypeCSR
	ContentTypeMixed
)

type DistributionPoint

type DistributionPoint struct {
	DistributionPoint []string
	Reasons           []string
	CRLIssuer         []string
}

func ToCRLDistributionPoints

func ToCRLDistributionPoints(in []byte) ([]DistributionPoint, error)

type Extension

type Extension struct {
	Name     string
	Oid      string
	Critical bool
	Values   []string
}

type GeneralName

type GeneralName struct {
	Type  string // dns name, ip address, ...
	Value string
}

type Location added in v0.0.3

type Location struct {
	TLSVersion   uint16 // only applicable for network certificates
	Path         string
	Error        error
	ContentType  ContentType
	Certificates Certificates
	CSRs         CSRs
}

Location represents a source of certificates or CSRs

func LoadFromClipboard added in v0.0.3

func LoadFromClipboard(password string) Location

LoadFromClipboard loads certificates or CSRs from clipboard with auto-detection

func LoadFromFile added in v0.0.3

func LoadFromFile(fileName string, password string) Location

LoadFromFile loads certificates or CSRs from a file with auto-detection

func LoadFromNetwork added in v0.0.3

func LoadFromNetwork(addr string, serverName string, tlsSkipVerify bool) Location

LoadFromNetwork loads certificates from a network address

func LoadFromStdin added in v0.0.3

func LoadFromStdin(password string) Location

LoadFromStdin loads certificates or CSRs from stdin with auto-detection

func (Location) Chains added in v0.0.3

func (l Location) Chains() ([]Certificates, error)

func (Location) IsCSR added in v0.0.3

func (l Location) IsCSR() bool

func (Location) IsCertificate added in v0.0.3

func (l Location) IsCertificate() bool

func (Location) IsMixed added in v0.0.3

func (l Location) IsMixed() bool

func (Location) IssuerLike added in v0.0.3

func (l Location) IssuerLike(issuer string) Location

func (Location) Name added in v0.0.3

func (l Location) Name() string

func (Location) RemoveDuplicates added in v0.0.3

func (l Location) RemoveDuplicates() Location

func (Location) RemoveExpired added in v0.0.3

func (l Location) RemoveExpired() Location

func (Location) SortByExpiry added in v0.0.3

func (l Location) SortByExpiry() Location

func (Location) SubjectLike added in v0.0.3

func (l Location) SubjectLike(subject string) Location

type Locations added in v0.0.3

type Locations []Location

func (Locations) IssuerLike added in v0.0.3

func (l Locations) IssuerLike(issuer string) Locations

func (Locations) RemoveDuplicates added in v0.0.3

func (l Locations) RemoveDuplicates() Locations

func (Locations) RemoveExpired added in v0.0.3

func (l Locations) RemoveExpired() Locations

func (Locations) SortByExpiry added in v0.0.3

func (l Locations) SortByExpiry() Locations

func (Locations) SubjectLike added in v0.0.3

func (l Locations) SubjectLike(subject string) Locations

type PasswordRequiredError

type PasswordRequiredError struct {
	// contains filtered or unexported fields
}

func (*PasswordRequiredError) Data

func (e *PasswordRequiredError) Data() []byte

func (*PasswordRequiredError) Error

func (e *PasswordRequiredError) Error() string

func (*PasswordRequiredError) Provided

func (e *PasswordRequiredError) Provided() bool

func (*PasswordRequiredError) SetSource

func (e *PasswordRequiredError) SetSource(source PasswordSource)

func (*PasswordRequiredError) Source

func (*PasswordRequiredError) Unwrap

func (e *PasswordRequiredError) Unwrap() error

type PasswordSource

type PasswordSource int
const (
	PasswordSourceUnknown PasswordSource = iota
	PasswordSourceFile
	PasswordSourceClipboard
	PasswordSourceStdin
)

Jump to

Keyboard shortcuts

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