Documentation ¶
Index ¶
- Variables
- func GetHash(name string) crypto.Hash
- type Format
- type HashError
- type Metadata
- type PrivateChain
- func (p *PrivateChain) Format() Format
- func (p *PrivateChain) Marshal() []byte
- func (p *PrivateChain) PrivateKey() *rsa.PrivateKey
- func (p *PrivateChain) Sign(hash crypto.Hash, hashed []byte) ([]byte, error)
- func (p *PrivateChain) SignContent(md Metadata) (*PublicChain, error)
- func (p *PrivateChain) SignPrivate(md Metadata, bitSize int) (*PrivateChain, error)
- type PublicChain
- func (p *PublicChain) Format() Format
- func (p *PublicChain) Marshal() []byte
- func (p *PublicChain) Metadata() *Metadata
- func (p *PublicChain) Parent() *PublicChain
- func (p *PublicChain) PublicKey() *rsa.PublicKey
- func (p *PublicChain) Valid() error
- func (p *PublicChain) Verify(hash crypto.Hash, hashed []byte, sig []byte) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDamaged = errors.New(`seal: damaged`)
View Source
var ErrDateYet = errors.New(`seal: date yet`)
View Source
var ErrExpired = errors.New(`seal: expired`)
View Source
var ErrNil = errors.New(`seal: chain nil`)
View Source
var Hash = []crypto.Hash{ crypto.MD5, crypto.SHA1, crypto.SHA224, crypto.SHA256, crypto.SHA384, crypto.SHA512, crypto.SHA3_224, crypto.SHA3_256, crypto.SHA3_384, crypto.SHA3_512, crypto.SHA512_224, crypto.SHA512_256, crypto.BLAKE2s_256, crypto.BLAKE2b_256, crypto.BLAKE2b_384, crypto.BLAKE2b_512, }
Functions ¶
Types ¶
type Metadata ¶
type Metadata struct { // 簽名使用的 hash 算法名稱 Hash crypto.Hash // 使用此公鑰 驗證簽名,如果沒有表示它是自簽名的 Parent *rsa.PublicKey // 公鑰,驗證它簽名的數據是否有效 PublicKey *rsa.PublicKey // unix 表示此簽名有效起始時間,<1 則表示沒有此限制 Afrer time.Time // unix 表示此簽名有效截止時間,<1 則表示沒有此限制 Before time.Time // 可選的 國家名稱 Country string // 可選的 /州 名稱 State string // 可選的 地點或城市名稱 Locality string // 可選的 組織或公司名稱 Organization string // 可選的 組織單位或公司部門 Organizational string // 可選的 被簽名的附帶內容 Content []byte }
簽名元信息
type PrivateChain ¶
type PrivateChain struct { *PublicChain // contains filtered or unexported fields }
私鑰鏈,用於簽名
func ParsePrivateChainWithTime ¶
func ParsePrivateChainWithTime(b []byte, now int64) (*PrivateChain, error)
加載序列化的私鏈到內存 now 如果爲 < 1 則不驗證時間
func (*PrivateChain) SignContent ¶
func (p *PrivateChain) SignContent(md Metadata) (*PublicChain, error)
簽名一個內容
func (*PrivateChain) SignPrivate ¶
func (p *PrivateChain) SignPrivate(md Metadata, bitSize int) (*PrivateChain, error)
簽署一個私鏈
type PublicChain ¶
type PublicChain struct {
// contains filtered or unexported fields
}
公鑰鏈,用於回溯簽發源
func ParsePublicChainWithTime ¶
func ParsePublicChainWithTime(b []byte, now int64) (*PublicChain, error)
加載序列化的公鏈到內存 now 如果爲 < 1 則不驗證時間
Click to show internal directories.
Click to hide internal directories.