Documentation
¶
Overview ¶
Package cert provides X.509 certificate handling for post-quantum algorithms
Index ¶
- Variables
- type CertBuilder
- func (cb *CertBuilder) Build(publicKey sign.PublicKey, issuerKey sign.PrivateKey) (*MLDSACert, error)
- func (cb *CertBuilder) SetCA(isCA bool) *CertBuilder
- func (cb *CertBuilder) SetCapabilities(caps []string) *CertBuilder
- func (cb *CertBuilder) SetNodeID(nodeID string) *CertBuilder
- func (cb *CertBuilder) SetRole(role string) *CertBuilder
- func (cb *CertBuilder) SetSubject(subject pkix.Name) *CertBuilder
- func (cb *CertBuilder) SetValidity(notBefore, notAfter time.Time) *CertBuilder
- type CertPool
- type MLDSACert
- type SPKIPinner
Constants ¶
This section is empty.
Variables ¶
var ( OIDMLDSA44 = asn1.ObjectIdentifier{1, 3, 6, 1, 4, 1, 2, 267, 7, 6, 5} // ML-DSA-44 OIDMLDSA65 = asn1.ObjectIdentifier{1, 3, 6, 1, 4, 1, 2, 267, 7, 8, 7} // ML-DSA-65 OIDMLDSA87 = asn1.ObjectIdentifier{1, 3, 6, 1, 4, 1, 2, 267, 7, 10, 8} // ML-DSA-87 )
OID definitions for ML-DSA algorithms
Functions ¶
This section is empty.
Types ¶
type CertBuilder ¶
type CertBuilder struct {
// contains filtered or unexported fields
}
CertBuilder builds ML-DSA certificates
func NewCertBuilder ¶
func NewCertBuilder(signer sign.Signer) *CertBuilder
NewCertBuilder creates a new certificate builder
func (*CertBuilder) Build ¶
func (cb *CertBuilder) Build(publicKey sign.PublicKey, issuerKey sign.PrivateKey) (*MLDSACert, error)
Build creates the certificate
func (*CertBuilder) SetCA ¶
func (cb *CertBuilder) SetCA(isCA bool) *CertBuilder
SetCA marks the certificate as a CA
func (*CertBuilder) SetCapabilities ¶
func (cb *CertBuilder) SetCapabilities(caps []string) *CertBuilder
SetCapabilities sets the capabilities extension
func (*CertBuilder) SetNodeID ¶
func (cb *CertBuilder) SetNodeID(nodeID string) *CertBuilder
SetNodeID sets the node ID extension
func (*CertBuilder) SetRole ¶
func (cb *CertBuilder) SetRole(role string) *CertBuilder
SetRole sets the role extension
func (*CertBuilder) SetSubject ¶
func (cb *CertBuilder) SetSubject(subject pkix.Name) *CertBuilder
SetSubject sets the certificate subject
func (*CertBuilder) SetValidity ¶
func (cb *CertBuilder) SetValidity(notBefore, notAfter time.Time) *CertBuilder
SetValidity sets the certificate validity period
type CertPool ¶
type CertPool struct {
// contains filtered or unexported fields
}
CertPool represents a pool of trusted certificates
type MLDSACert ¶
type MLDSACert struct {
Raw []byte
PublicKey sign.PublicKey
Subject pkix.Name
Issuer pkix.Name
SerialNumber []byte
NotBefore time.Time
NotAfter time.Time
KeyUsage x509.KeyUsage
ExtKeyUsage []x509.ExtKeyUsage
IsCA bool
// Custom extensions for QZMQ
NodeID string
Capabilities []string
Role string
}
MLDSACert represents an ML-DSA certificate
func ParseMLDSACert ¶
ParseMLDSACert parses an ML-DSA certificate
type SPKIPinner ¶
type SPKIPinner struct {
// contains filtered or unexported fields
}
SPKIPinner implements SPKI pinning
func NewSPKIPinner ¶
func NewSPKIPinner(pins []string) *SPKIPinner
NewSPKIPinner creates a new SPKI pinner