Documentation
¶
Index ¶
- func DecryptKeyBytes(pemKeyEncrypted []byte, pw []byte) ([]byte, error)
- func EncodeCertificatePEM(cert *x509.Certificate) ([]byte, error)
- func EnsureKey(keyFile string) (crypto.PublicKey, crypto.PrivateKey, bool, error)
- func GetCSRExtensionValueAsStr(csr *x509.CertificateRequest, oid asn1.ObjectIdentifier) (string, error)
- func GetCertificateExtensionValueAsStr(cert *x509.Certificate, oid asn1.ObjectIdentifier) (string, error)
- func GetPEMBlock(pemKey []byte) (*pem.Block, error)
- func HashPublicKey(key crypto.PublicKey) ([]byte, error)
- func IsEncryptedPEMKey(pemKey []byte) (bool, error)
- func LoadKey(keyFile string) (crypto.PrivateKey, error)
- func MakeCSR(privateKey crypto.Signer, subjectName string, opts ...CSROption) ([]byte, error)
- func NewKeyPair() (crypto.PublicKey, crypto.PrivateKey, error)
- func NewKeyPairWithHash() (crypto.PublicKey, crypto.PrivateKey, []byte, error)
- func PEMEncodeKey(key crypto.PrivateKey) ([]byte, error)
- func ParseCSR(csrPEM []byte) (*x509.CertificateRequest, error)
- func ParseCertificatePEM(certPEM []byte) (*x509.Certificate, error)
- func ParseKeyPEM(pemKey []byte) (crypto.PrivateKey, error)
- func ParsePEMCertificate(pemData []byte) (*x509.Certificate, error)
- func ValidateX509CSR(c *x509.CertificateRequest) error
- func WriteKey(keyPath string, key crypto.PrivateKey) error
- func WritePasswordEncryptedKey(keyPath string, key crypto.PrivateKey, password []byte) error
- type CSROption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EncodeCertificatePEM ¶ added in v0.10.0
func EncodeCertificatePEM(cert *x509.Certificate) ([]byte, error)
EncodeCertificatePEM encodes a single x509.Certificate into PEM bytes.
func GetCSRExtensionValueAsStr ¶ added in v0.10.0
func GetCSRExtensionValueAsStr(csr *x509.CertificateRequest, oid asn1.ObjectIdentifier) (string, error)
GetCSRExtensionValueAsStr retrieves a specific extension from a CSR as a string.
func GetCertificateExtensionValueAsStr ¶ added in v0.10.0
func GetCertificateExtensionValueAsStr(cert *x509.Certificate, oid asn1.ObjectIdentifier) (string, error)
func IsEncryptedPEMKey ¶
func NewKeyPair ¶
func NewKeyPair() (crypto.PublicKey, crypto.PrivateKey, error)
func NewKeyPairWithHash ¶
func PEMEncodeKey ¶
func PEMEncodeKey(key crypto.PrivateKey) ([]byte, error)
func ParseCertificatePEM ¶ added in v0.10.0
func ParseCertificatePEM(certPEM []byte) (*x509.Certificate, error)
ParseCertificatePEM parses a single x509.Certificate from PEM bytes.
func ParseKeyPEM ¶
func ParseKeyPEM(pemKey []byte) (crypto.PrivateKey, error)
func ParsePEMCertificate ¶ added in v0.10.0
func ParsePEMCertificate(pemData []byte) (*x509.Certificate, error)
ParsePEMCertificate parses a PEM-encoded certificate and returns an *x509.Certificate. It validates the PEM block type and ensures the certificate is properly formatted.
func ValidateX509CSR ¶ added in v0.10.0
func ValidateX509CSR(c *x509.CertificateRequest) error
func WritePasswordEncryptedKey ¶
func WritePasswordEncryptedKey(keyPath string, key crypto.PrivateKey, password []byte) error
this copies functionality from sigstore's cosign to encrypt the private key using functionality from secure systems lab, which relies on golang crypto's secretbox and scrypt. see: https://github.com/sigstore/cosign/blob/77f71e0d7470e31ed4ed5653fe5a7c8e3b283606/pkg/cosign/keys.go#L158 https://github.com/secure-systems-lab/go-securesystemslib/blob/7dd9eabdaf9ea98ba33653cdfbdec7057bd662fd/encrypted/encrypted.go#L158
Types ¶
type CSROption ¶ added in v0.10.0
type CSROption func(*x509.CertificateRequest) error
CSROption allows callers to customize the x509.CertificateRequest template before the CSR is created.
func WithDNSNames ¶ added in v0.10.0
WithDNSNames sets one or more DNS SANs on the CSR.
func WithExtraExtension ¶ added in v0.10.0
func WithExtraExtension(oid asn1.ObjectIdentifier, value string) CSROption
WithExtraExtension adds a non-critical extra extension (value ASN.1-encoded string).
func WithIPAddresses ¶ added in v0.10.0
WithIPAddresses sets one or more IP SANs on the CSR.
func WithSubject ¶ added in v0.10.0
WithSubject overrides the Subject for the CSR.