gokalkan

package module
v0.0.0-...-db52ee3 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: MIT Imports: 19 Imported by: 0

README

gokalkan

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	OptsProd = []Option{
		WithLogger(defaultLogger),
		WithTSP(prodTSP),
		WithOCSP(prodOCSP),
	}
	OptsTest = []Option{
		WithLogger(defaultLogger),
		WithTSP(testTSP),
		WithOCSP(testOCSP),
	}
)
View Source
var (
	ErrInit    = errors.New("unable to refer to KC_GetFunctionList")
	ErrHTTPCli = errors.New("http cli error")
)
View Source
var ErrLoadKey = errors.New("load key error")

Functions

func WrapWithWSSESoapEnvelope

func WrapWithWSSESoapEnvelope(dataXML, id string) (result string)

WrapWithWSSESoapEnvelope оборачивает XML документ в SOAP формат, а точнее записывает содержимое под тегом soap:Body

Types

type Client

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

func NewClient

func NewClient(opts ...Option) (*Client, error)

NewClient возвращает клиента для работы с KC.

func (*Client) Close

func (cli *Client) Close() (err error)

func (*Client) GetCertFromCMS

func (cli *Client) GetCertFromCMS(cms []byte) ([]*x509.Certificate, error)

GetCertFromCMS обеспечивает получение сертификата из CMS.

func (*Client) GetCertFromXML

func (cli *Client) GetCertFromXML(xml string) ([]*x509.Certificate, error)

GetCertFromXML обеспечивает получение сертификата из XML.

func (*Client) GetSigAlgFromXML

func (cli *Client) GetSigAlgFromXML(xml string) (string, error)

GetSigAlgFromXML обеспечивает получение алгоритма подписи из XML.

func (*Client) GetTimeFromSig

func (cli *Client) GetTimeFromSig(cmsDer []byte) (time.Time, error)

GetTimeFromSig получает время подписания из CMS в кодировке DER. Если вы хотите пeредать данные подписи в base64 формате, то установите флаг base64 = true

func (*Client) HashGOST95

func (cli *Client) HashGOST95(data []byte) (hashed []byte, err error)

func (*Client) HashSHA256

func (cli *Client) HashSHA256(data []byte) (hashed []byte, err error)

func (*Client) LoadCertFromBytes

func (cli *Client) LoadCertFromBytes(cert []byte, certType ckalkan.CertType) (err error)

func (*Client) LoadCerts

func (cli *Client) LoadCerts() error

func (*Client) LoadKeyStore

func (cli *Client) LoadKeyStore(path, password string) error

LoadKeyStore загружает PKCS12.

func (*Client) LoadKeyStoreFromBytes

func (cli *Client) LoadKeyStoreFromBytes(key []byte, password string) (err error)

LoadKeyStoreFromBytes загружает PKCS12.

func (*Client) Options

func (cli *Client) Options() Options

func (*Client) SetProxyOff

func (cli *Client) SetProxyOff(proxyURL string) error

Отключает использование прокси сервера.

func (*Client) SetProxyOn

func (cli *Client) SetProxyOn(proxyURL string) error

Включает использование прокси сервера.

func (*Client) Sign

func (cli *Client) Sign(input *types.SignInput) (signature []byte, err error)

Sign подписывает данные и возвращает CMS с подписью.

func (*Client) SignHash

func (cli *Client) SignHash(input *types.SignHashInput) (signedHash []byte, err error)

SignHash подписывает hash и возвращает CMS с подписью.

func (*Client) SignWSSE

func (cli *Client) SignWSSE(xmlData, id string) (string, error)

func (*Client) SignXML

func (cli *Client) SignXML(input *types.SignXMLInput) (string, error)

SignXML подписывает данные в формате XML.

func (*Client) ValidateCert

func (cli *Client) ValidateCert(input *kalkanTypes.ValidateCertInput) (string, error)

func (*Client) Verify

func (cli *Client) Verify(input *types.VerifyInput) (string, error)

Verify обеспечивает проверку подписи CMS в base64.

func (*Client) VerifyDetached

func (cli *Client) VerifyDetached(signature, data []byte) (string, error)

VerifyDetached обеспечивает проверку отделенной подписи CMS (detached signature) в base64.

func (*Client) VerifyXML

func (cli *Client) VerifyXML(input *types.VerifyXMLInput) (result string, err error)

VerifyXML обеспечивает проверку подписи данных в формате XML.

func (*Client) X509CertificateGetInfo

func (cli *Client) X509CertificateGetInfo(input *x509.Certificate) (*types.CertificateInfo, error)

X509CertificateGetInfo Обеспечивает получение значений полей/расширений из сертификата в виде структуры *types.CertificateInfo.

func (*Client) X509ExportCertificateFromStore

func (cli *Client) X509ExportCertificateFromStore() (cert *x509.Certificate, err error)

X509ExportCertificateFromStore экспортирует сертификат из хранилища в формате PEM или в кодировке BASE64

type Logger

type Logger interface {
	Debug(args ...interface{})
	Error(args ...interface{})
}

type Option

type Option func(o *Options)

func WithCert

func WithCert(cert *x509.Certificate, typ ckalkan.CertType) Option

func WithCerts

func WithCerts(c []OptionsCert) Option

func WithLogger

func WithLogger(logger Logger) Option

func WithOCSP

func WithOCSP(u string) Option

func WithRemoteProdCerts

func WithRemoteProdCerts(ctx context.Context) Option

func WithRemoteTestCerts

func WithRemoteTestCerts(ctx context.Context) Option

func WithTSP

func WithTSP(u string) Option

type Options

type Options struct {
	TSP       string        `json:"tsp"`   // URL метки времени
	OCSP      string        `json:"ocsp"`  // URL сервиса онлайн проверки статуса сертификата
	Certs     []OptionsCert `json:"certs"` // Корневые сертификатам
	LoadCerts bool          `json:"load_certs"`
	// contains filtered or unexported fields
}

type OptionsCert

type OptionsCert struct {
	Cert *x509.Certificate
	Type ckalkan.CertType
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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