signature

package
v0.0.0-...-8738c73 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	OIDEmailAddress           = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 1}
	OIDAttributeMessageDigest = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 4}
	OIDAttributeSigningTime   = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 5}
	OIDgostR341194            = asn1.ObjectIdentifier{1, 2, 643, 2, 2, 9}
	OIDgostR34102001          = asn1.ObjectIdentifier{1, 2, 643, 2, 2, 19}
	OIDgostR34102012256       = asn1.ObjectIdentifier{1, 2, 643, 7, 1, 1, 1, 1}
	OIDgostR34102012512       = asn1.ObjectIdentifier{1, 2, 643, 7, 1, 1, 1, 2}
	OIDgostR34112012256       = asn1.ObjectIdentifier{1, 2, 643, 7, 1, 1, 2, 2}
	OIDgostR34112012512       = asn1.ObjectIdentifier{1, 2, 643, 7, 1, 1, 2, 3}
	OIDCommonName             = asn1.ObjectIdentifier{2, 5, 4, 3}
	OIDSurname                = asn1.ObjectIdentifier{2, 5, 4, 4}
	OIDCountryName            = asn1.ObjectIdentifier{2, 5, 4, 6}
	OIDLocalityName           = asn1.ObjectIdentifier{2, 5, 4, 7}
	OIDStateOrProvinceName    = asn1.ObjectIdentifier{2, 5, 4, 8}
	OIDStreetAddress          = asn1.ObjectIdentifier{2, 5, 4, 9}
	OIDOrganizationName       = asn1.ObjectIdentifier{2, 5, 4, 10}
	OIDOrganizationUnitName   = asn1.ObjectIdentifier{2, 5, 4, 11}
	OIDTitle                  = asn1.ObjectIdentifier{2, 5, 4, 12}
	OIDGivenName              = asn1.ObjectIdentifier{2, 5, 4, 42}
)

Functions

This section is empty.

Types

type Certificate

type Certificate struct {
	IssuerName          string
	NotBefore           string
	NotAfter            string
	EncriptionAlgorithm string
	DigestAlgorithm     string
}

type Report

type Report struct {
	Signer      Signer
	Certificate Certificate
	SigningTime string
	Validity    bool
}

Структура отчета о проверке ЭЦП

type Sign

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

func NewSign

func NewSign(data []byte, sign []byte) (*Sign, error)

Декодируем содержимое файла подписи Если возникла ошибка при декодировании мз Base64, считаем что подпись в формате PKCS7

func (*Sign) GetCertificate

func (s *Sign) GetCertificate() Certificate

Выборка данных о сертификате ЭЦП

func (*Sign) GetHash

func (s *Sign) GetHash() ([]byte, error)

Определяем алгоритм хэширования при помощи которого создавалась ЭЦП

func (*Sign) GetReport

func (s *Sign) GetReport() Report

func (*Sign) GetSigner

func (s *Sign) GetSigner() Signer

Выборка сведений о подписанте

func (*Sign) GetSigningTume

func (s *Sign) GetSigningTume() (signingTime time.Time, err error)

Получение сведений о времени подписания документа Значение данного поля несет информативный характер, так как время подпси берется из системы подписанта

func (*Sign) Verify

func (s *Sign) Verify() (bool, error)

Проверка вычисленного хэша документа и значения из файла подписи Если данные строки совпадают, значит файл подписи сделан для данного документа и документ после этого не изменялся

type Signer

type Signer struct {
	CommonName          string
	CountryName         string
	StateOrProvinceName string
	LocalityName        string
	Surname             string
	GivenName           string
	Title               string
	EmailAddress        string
}

Jump to

Keyboard shortcuts

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