ca

package
v1.0.5022 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2025 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// get Cipher type
	GetCipherFromName = pkcs8.GetCipherFromName
	// get hash type
	GetHashFromName = pkcs8.GetHashFromName
)
View Source
var (
	ErrKeyMustBePEMEncoded = errors.New("invalid key: Key must be a PEM encoded OpenSSH key")

	ErrPrivateKeyError = errors.New("key is not a valid private key")
	ErrPublicKeyError  = errors.New("key is not a valid public key")
)

Functions

This section is empty.

Types

type CA

type CA struct {

	// 错误
	Errors []error
	// contains filtered or unexported fields
}

*

  • CA *
  • @create 2022-7-22
  • @author deatil

func FromCertificate added in v1.0.5019

func FromCertificate(cert []byte) CA

From Certificate PEM

func FromCertificateRequest added in v1.0.5019

func FromCertificateRequest(cert []byte) CA

From Certificate Request PEM

func FromPKCS12Cert added in v1.0.5019

func FromPKCS12Cert(pfxData []byte, password string) CA

From PKCS12 Cert

func FromPrivateKey added in v1.0.5019

func FromPrivateKey(key []byte) CA

From PrivateKey PEM

func FromPrivateKeyWithPassword added in v1.0.5019

func FromPrivateKeyWithPassword(key []byte, password []byte) CA

From PrivateKey PEM With Password

func FromPublicKey added in v1.0.5019

func FromPublicKey(key []byte) CA

From PublicKey PEM

func GenerateDSAKey added in v1.0.5020

func GenerateDSAKey(ln string) CA

Generate DSA Key

func GenerateECDSAKey added in v1.0.5020

func GenerateECDSAKey(curve string) CA

Generate ECDSA Key

func GenerateEdDSAKey added in v1.0.5020

func GenerateEdDSAKey() CA

Generate EdDSA Key

func GenerateGostKey added in v1.0.5022

func GenerateGostKey(curve string) CA

Generate Gost Key

func GenerateKey added in v1.0.5019

func GenerateKey(options ...Options) CA

Generate Key

func GenerateKeyWithSeed added in v1.0.5019

func GenerateKeyWithSeed(reader io.Reader, options ...Options) CA

Generate Key with Reader

func GenerateRSAKey added in v1.0.5020

func GenerateRSAKey(bits int) CA

Generate RSA Key

func GenerateSM2Key added in v1.0.5020

func GenerateSM2Key() CA

Generate SM2 Key

func New added in v1.0.1018

func New() CA

构造函数

func NewCA

func NewCA() CA

构造函数

func (CA) AppendError added in v1.0.1026

func (this CA) AppendError(err ...error) CA

添加错误

func (CA) CreateCA

func (this CA) CreateCA() CA

Create CA PEM

func (CA) CreateCAWithIssuer added in v1.0.5022

func (this CA) CreateCAWithIssuer(issuer *cryptobin_x509.Certificate, issuerKey crypto.PrivateKey) CA

Create CA PEM With Issuer

func (CA) CreateCSR

func (this CA) CreateCSR() CA

Create CSR PEM

func (CA) CreateCert

func (this CA) CreateCert(issuer *cryptobin_x509.Certificate, issuerKey crypto.PrivateKey) CA

Create Cert PEM

func (CA) CreatePKCS12Cert

func (this CA) CreatePKCS12Cert(caCerts []*x509.Certificate, password string) CA

Create PKCS12 Cert PEM caCerts 通常保留为空

func (CA) CreatePrivateKey

func (this CA) CreatePrivateKey() CA

Create PrivateKey PEM

func (CA) CreatePrivateKeyWithPassword added in v1.0.5020

func (this CA) CreatePrivateKeyWithPassword(password []byte, opts ...any) CA

Create PrivateKey PEM With Password

func (CA) CreatePublicKey added in v1.0.5019

func (this CA) CreatePublicKey() CA

Create PublicKey PEM

func (CA) Error

func (this CA) Error() error

获取错误

func (CA) FromCertificate added in v1.0.5019

func (this CA) FromCertificate(cert []byte) CA

From Certificate PEM

func (CA) FromCertificateRequest added in v1.0.5019

func (this CA) FromCertificateRequest(cert []byte) CA

From Certificate Request PEM

func (CA) FromPKCS12Cert

func (this CA) FromPKCS12Cert(pfxData []byte, password string) CA

pkcs12

func (CA) FromPrivateKey

func (this CA) FromPrivateKey(key []byte) CA

From PrivateKey PEM

func (CA) FromPrivateKeyWithPassword added in v1.0.5019

func (this CA) FromPrivateKeyWithPassword(key []byte, password []byte) CA

From PrivateKey PEM With Password

func (CA) FromPublicKey

func (this CA) FromPublicKey(key []byte) CA

From PublicKey PEM

func (CA) GenerateDSAKey added in v1.0.5020

func (this CA) GenerateDSAKey(ln string) CA

Generate DSA key params: [ L1024N160 | L2048N224 | L2048N256 | L3072N256 ]

func (CA) GenerateECDSAKey added in v1.0.2015

func (this CA) GenerateECDSAKey(curve string) CA

Generate ECDSA key params: [P521 | P384 | P256 | P224]

func (CA) GenerateEdDSAKey

func (this CA) GenerateEdDSAKey() CA

Generate EdDSA key

func (CA) GenerateGostKey added in v1.0.5022

func (this CA) GenerateGostKey(curve string) CA

Generate Gost key

func (CA) GenerateKey added in v1.0.5019

func (this CA) GenerateKey() CA

Generate Key

func (CA) GenerateKeyWithSeed added in v1.0.5019

func (this CA) GenerateKeyWithSeed(reader io.Reader) CA

Generate Key with Reader

func (CA) GenerateRSAKey added in v1.0.2015

func (this CA) GenerateRSAKey(bits int) CA

Generate RSA key params: [512 | 1024 | 2048 | 4096]

func (CA) GenerateSM2Key

func (this CA) GenerateSM2Key() CA

Generate SM2 key

func (CA) GetBits added in v1.0.5019

func (this CA) GetBits() int

get Options Bits

func (CA) GetCert

func (this CA) GetCert() *x509.Certificate

获取 cert

func (CA) GetCertRequest

func (this CA) GetCertRequest() *x509.CertificateRequest

获取 certRequest

func (CA) GetCurve added in v1.0.5019

func (this CA) GetCurve() elliptic.Curve

get Options Curve

func (CA) GetErrors added in v1.0.1026

func (this CA) GetErrors() []error

获取错误

func (CA) GetGostCurve added in v1.0.5022

func (this CA) GetGostCurve() *gost.Curve

获取 Curve

func (CA) GetKeyData

func (this CA) GetKeyData() []byte

获取 keyData

func (CA) GetOptions added in v1.0.5019

func (this CA) GetOptions() Options

get Options

func (CA) GetParameterSizes added in v1.0.5019

func (this CA) GetParameterSizes() dsa.ParameterSizes

get DSA ParameterSizes

func (CA) GetPrivateKey

func (this CA) GetPrivateKey() crypto.PrivateKey

获取 PrivateKey

func (CA) GetPrivateKeyType added in v1.0.5019

func (this CA) GetPrivateKeyType() PublicKeyType

get PrivateKey Type

func (CA) GetPublicKey

func (this CA) GetPublicKey() crypto.PublicKey

获取 publicKey

func (CA) GetPublicKeyType added in v1.0.5019

func (this CA) GetPublicKeyType() PublicKeyType

get PublicKey Type

func (CA) MakeCA

func (this CA) MakeCA(
	subject pkix.Name,
	expire int,
	signAlgName string,
) CA

生成 CA 证书

func (CA) MakeCSR

func (this CA) MakeCSR(
	commonName string,
	organization []string,
	signAlgName string,
) CA

生成证书请求

func (CA) MakeCert

func (this CA) MakeCert(
	subject pkix.Name,
	expire int,
	dns []string,
	ip []net.IP,
	signAlgName string,
) CA

生成证书

func (CA) OnError

func (this CA) OnError(fn func([]error)) CA

引出错误信息

func (CA) ParseCertificateFromPEM added in v1.0.5022

func (this CA) ParseCertificateFromPEM(cert []byte) (*cryptobin_x509.Certificate, error)

Parse Certificate From PEM

func (CA) ParseCertificateRequestFromPEM added in v1.0.5022

func (this CA) ParseCertificateRequestFromPEM(cert []byte) (*cryptobin_x509.CertificateRequest, error)

Parse Certificate Request From PEM

func (CA) ParsePKCS8PrivateKeyFromPEM added in v1.0.5019

func (this CA) ParsePKCS8PrivateKeyFromPEM(key []byte) (crypto.PrivateKey, error)

Parse PKCS8 PrivateKey From PEM

func (CA) ParsePKCS8PrivateKeyFromPEMWithPassword added in v1.0.5019

func (this CA) ParsePKCS8PrivateKeyFromPEMWithPassword(key []byte, password []byte) (crypto.PrivateKey, error)

Parse PKCS8 PrivateKey From PEM With Password

func (CA) ParsePKCS8PublicKeyFromPEM added in v1.0.5019

func (this CA) ParsePKCS8PublicKeyFromPEM(key []byte) (crypto.PublicKey, error)

Parse PKCS8 PublicKey From PEM

func (CA) SetCurve added in v1.0.5019

func (this CA) SetCurve(curve string) CA

set Curve type params: [ P521 | P384 | P256 | P224 ]

func (CA) SetGenerateType added in v1.0.5019

func (this CA) SetGenerateType(typ string) CA

set Generate public key type params: [ RSA | DSA | ECDSA | EdDSA | SM2 ]

func (CA) SetGostCurve added in v1.0.5022

func (this CA) SetGostCurve(curve string) CA

设置曲线类型 set gost curve 可选参数 / params: IdGostR34102001TestParamSet IdGostR34102001CryptoProAParamSet IdGostR34102001CryptoProBParamSet IdGostR34102001CryptoProCParamSet IdGostR34102001CryptoProXchAParamSet IdGostR34102001CryptoProXchBParamSet Idtc26gost34102012256paramSetA Idtc26gost34102012256paramSetB Idtc26gost34102012256paramSetC Idtc26gost34102012256paramSetD Idtc26gost34102012512paramSetTest Idtc26gost34102012512paramSetA Idtc26gost34102012512paramSetB Idtc26gost34102012512paramSetC

func (CA) SetParameterSizes added in v1.0.5019

func (this CA) SetParameterSizes(ln string) CA

With DSA ParameterSizes params: [ L1024N160 | L2048N224 | L2048N256 | L3072N256 ]

func (CA) SetPublicKeyType added in v1.0.5019

func (this CA) SetPublicKeyType(keyType string) CA

set public key type params: [ RSA | DSA | ECDSA | EdDSA | SM2 | Gost ]

func (CA) ToKeyBytes

func (this CA) ToKeyBytes() []byte

私钥/公钥/cert

func (CA) ToKeyString

func (this CA) ToKeyString() string

私钥/公钥/cert

func (CA) UpdateCert

func (this CA) UpdateCert(fn func(*x509.Certificate)) CA

更新 Cert 数据

func (CA) UpdateCertRequest

func (this CA) UpdateCertRequest(fn func(*x509.CertificateRequest)) CA

更新证书请求数据

func (CA) Verify

func (this CA) Verify(rootPEM string, certPEM string, opts x509.VerifyOptions) (bool, error)

验证

func (CA) WithBits added in v1.0.5019

func (this CA) WithBits(bits int) CA

RSA private key bit size

func (CA) WithCert

func (this CA) WithCert(cert *x509.Certificate) CA

设置 cert

func (CA) WithCertRequest

func (this CA) WithCertRequest(cert *x509.CertificateRequest) CA

设置 certRequest

func (CA) WithCurve added in v1.0.5019

func (this CA) WithCurve(curve elliptic.Curve) CA

With Curve type

func (CA) WithErrors added in v1.0.1026

func (this CA) WithErrors(errs []error) CA

设置错误

func (CA) WithGostCurve added in v1.0.5022

func (this CA) WithGostCurve(curve *gost.Curve) CA

设置曲线类型 set gost curve

func (CA) WithKeyData

func (this CA) WithKeyData(data []byte) CA

设置 keyData

func (CA) WithOptions added in v1.0.5019

func (this CA) WithOptions(options Options) CA

With options

func (CA) WithParameterSizes added in v1.0.5019

func (this CA) WithParameterSizes(sizes dsa.ParameterSizes) CA

With DSA ParameterSizes

func (CA) WithPrivateKey

func (this CA) WithPrivateKey(key crypto.PrivateKey) CA

设置 PrivateKey

func (CA) WithPublicKey

func (this CA) WithPublicKey(key crypto.PublicKey) CA

设置 publicKey

func (CA) WithPublicKeyType added in v1.0.5019

func (this CA) WithPublicKeyType(keyType PublicKeyType) CA

public key type

type Certificate added in v1.0.5022

type Certificate = x509.Certificate

证书

type CertificateRequest added in v1.0.5022

type CertificateRequest = x509.CertificateRequest

证书请求

type ExtKeyUsage added in v1.0.5022

type ExtKeyUsage = x509.ExtKeyUsage

ExtKeyUsage

type KeyUsage added in v1.0.5022

type KeyUsage = x509.KeyUsage

KeyUsage

type Options added in v1.0.5019

type Options struct {
	// public key type
	PublicKeyType PublicKeyType

	// DSA ParameterSizes
	ParameterSizes dsa.ParameterSizes

	// ecc curve
	Curve elliptic.Curve

	// gost curve
	GostCurve *gost.Curve

	// generates RSA private key bit size
	Bits int
}

Options

type Opts added in v1.0.5020

type Opts = pkcs8.Opts

options

type PBKDF2Opts added in v1.0.5020

type PBKDF2Opts = pkcs8.PBKDF2Opts

PBKDF2 options

type PkixAlgorithmIdentifier added in v1.0.5022

type PkixAlgorithmIdentifier = pkix.AlgorithmIdentifier

AlgorithmIdentifier

type PkixAttributeTypeAndValue added in v1.0.5022

type PkixAttributeTypeAndValue = pkix.AttributeTypeAndValue

AttributeTypeAndValue 数据

type PkixAttributeTypeAndValueSET added in v1.0.5022

type PkixAttributeTypeAndValueSET = pkix.AttributeTypeAndValueSET

AttributeTypeAndValueSET

type PkixCertificateList added in v1.0.5022

type PkixCertificateList = pkix.CertificateList

CertificateList

type PkixExtension added in v1.0.5022

type PkixExtension = pkix.Extension

Extension

type PkixName added in v1.0.5022

type PkixName = pkix.Name

Subject 数据

type PkixRDNSequence added in v1.0.5022

type PkixRDNSequence = pkix.RDNSequence

RDNSequence

type PkixRevokedCertificate added in v1.0.5022

type PkixRevokedCertificate = pkix.RevokedCertificate

RevokedCertificate

type PkixTBSCertificateList added in v1.0.5022

type PkixTBSCertificateList = pkix.TBSCertificateList

TBSCertificateList

type PublicKeyAlgorithm added in v1.0.5022

type PublicKeyAlgorithm = x509.PublicKeyAlgorithm

PublicKeyAlgorithm

type PublicKeyType added in v1.0.5019

type PublicKeyType uint

public key type

const (
	KeyTypeUnknown PublicKeyType = iota
	KeyTypeRSA
	KeyTypeDSA
	KeyTypeECDSA
	KeyTypeEdDSA
	KeyTypeSM2
	KeyTypeGost
)

func (PublicKeyType) String added in v1.0.5019

func (typ PublicKeyType) String() string

type ScryptOpts added in v1.0.5020

type ScryptOpts = pkcs8.ScryptOpts

Scrypt options

type SignatureAlgorithm added in v1.0.5022

type SignatureAlgorithm = x509.SignatureAlgorithm

SignatureAlgorithm

type VerifyOptions added in v1.0.5022

type VerifyOptions = x509.VerifyOptions

配置别名

Jump to

Keyboard shortcuts

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