factory

package
v0.0.0-...-fbe82ab Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//pkcs11basedfactoryname是基于hsm的BCCSP实现的工厂名称。
	PKCS11BasedFactoryName = "PKCS11"
)
View Source
const (
	//PlugInfactoryName是BCCSP插件的工厂名称
	PluginFactoryName = "PLUGIN"
)
View Source
const (
	//SoftwareBasedFactoryName是基于软件的BCCSP实现的工厂名称。
	SoftwareBasedFactoryName = "SW"
)

Variables

This section is empty.

Functions

func GetBCCSP

func GetBCCSP(name string) (bccsp.BCCSP, error)

getbccsp返回根据输入中传递的选项创建的bccsp。

func GetBCCSPFromOpts

func GetBCCSPFromOpts(config *FactoryOpts) (bccsp.BCCSP, error)

getbccspfromopts返回根据输入中传递的选项创建的bccsp。

func GetDefault

func GetDefault() bccsp.BCCSP

getdefault返回非短暂(长期)bccsp

func InitFactories

func InitFactories(config *FactoryOpts) error

必须在使用工厂接口之前调用InitFactories 可以使用config=nil调用,在这种情况下 将使用某些默认值 只有在找不到defaultbccsp时才会返回错误

Types

type BCCSPFactory

type BCCSPFactory interface {

	//name返回此工厂的名称
	Name() string

	//get返回使用opts的bccsp实例。
	Get(opts *FactoryOpts) (bccsp.BCCSP, error)
}

bccspfactory用于获取bccsp接口的实例。 一个工厂有一个用来称呼它的名字。

type DummyKeystoreOpts

type DummyKeystoreOpts struct{}

type FactoryOpts

type FactoryOpts struct {
	ProviderName string             `mapstructure:"default" json:"default" yaml:"Default"`
	SwOpts       *SwOpts            `mapstructure:"SW,omitempty" json:"SW,omitempty" yaml:"SwOpts"`
	PluginOpts   *PluginOpts        `mapstructure:"PLUGIN,omitempty" json:"PLUGIN,omitempty" yaml:"PluginOpts"`
	Pkcs11Opts   *pkcs11.PKCS11Opts `mapstructure:"PKCS11,omitempty" json:"PKCS11,omitempty" yaml:"PKCS11"`
}

FactoryOpts保存用于初始化工厂实现的配置信息

func GetDefaultOpts

func GetDefaultOpts() *FactoryOpts

GetDefaultOpts为Opts提供默认实现 每次返回一个新实例

func (*FactoryOpts) FactoryName

func (o *FactoryOpts) FactoryName() string

FactoryName返回提供程序的名称

type FileKeystoreOpts

type FileKeystoreOpts struct {
	KeyStorePath string `mapstructure:"keystore" yaml:"KeyStore"`
}

可插入的密钥库,可以添加jks、p12等。

type InmemKeystoreOpts

type InmemKeystoreOpts struct{}

inmemkeystoreopts-空,因为内存中的密钥库没有配置

type PKCS11Factory

type PKCS11Factory struct{}

PKCS11工厂是基于HSM的BCCSP的工厂。

func (*PKCS11Factory) Get

func (f *PKCS11Factory) Get(config *FactoryOpts) (bccsp.BCCSP, error)

get返回使用opts的bccsp实例。

func (*PKCS11Factory) Name

func (f *PKCS11Factory) Name() string

name返回此工厂的名称

type PluginFactory

type PluginFactory struct{}

PlugInfectory是BCCSP插件的工厂

func (*PluginFactory) Get

func (f *PluginFactory) Get(config *FactoryOpts) (bccsp.BCCSP, error)

get返回使用opts的bccsp实例。

func (*PluginFactory) Name

func (f *PluginFactory) Name() string

name返回此工厂的名称

type PluginOpts

type PluginOpts struct {
	//插件库路径
	Library string
	//插件库的配置映射
	Config map[string]interface{}
}

PluginOpts包含PluginFactory的选项

type SWFactory

type SWFactory struct{}

SWFactory是基于软件的BCCSP的工厂。

func (*SWFactory) Get

func (f *SWFactory) Get(config *FactoryOpts) (bccsp.BCCSP, error)

get返回使用opts的bccsp实例。

func (*SWFactory) Name

func (f *SWFactory) Name() string

name返回此工厂的名称

type SwOpts

type SwOpts struct {
	//未指定时的默认算法(是否已弃用?)
	SecLevel   int    `mapstructure:"security" json:"security" yaml:"Security"`
	HashFamily string `mapstructure:"hash" json:"hash" yaml:"Hash"`

	//密钥存储选项
	Ephemeral     bool               `mapstructure:"tempkeys,omitempty" json:"tempkeys,omitempty"`
	FileKeystore  *FileKeystoreOpts  `mapstructure:"filekeystore,omitempty" json:"filekeystore,omitempty" yaml:"FileKeyStore"`
	DummyKeystore *DummyKeystoreOpts `mapstructure:"dummykeystore,omitempty" json:"dummykeystore,omitempty"`
	InmemKeystore *InmemKeystoreOpts `mapstructure:"inmemkeystore,omitempty" json:"inmemkeystore,omitempty"`
}

swopts包含swfactory的选项

Jump to

Keyboard shortcuts

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