arc

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ARCAuthenticationResults

type ARCAuthenticationResults struct {
	InstanceNumber int    // i
	AuthServId     string // Atuhentication Server Domain
	Results        []string
	// contains filtered or unexported fields
}

ARC-Authentication-Results の構造体 最低限の情報を保持する

func ParseARCAuthenticationResults

func ParseARCAuthenticationResults(s string) (*ARCAuthenticationResults, error)

ARC-Authentication-Results のパース

func (*ARCAuthenticationResults) Raw

func (aar *ARCAuthenticationResults) Raw() string

func (ARCAuthenticationResults) String

func (aar ARCAuthenticationResults) String() string

ARC-Authentication-Results の文字列化 ヘッダ名は含まない

type ARCMessageSignature

type ARCMessageSignature struct {
	Algorithm        SignatureAlgorithm // a algorithm
	Signature        string             // b signature
	BodyHash         string             // bh body hash
	Canonicalization string             // c canonicalization
	Domain           string             // d domain
	Headers          string             // h headers
	InstanceNumber   int                // i instance number
	Selector         string             // s selector
	Timestamp        int64              // t timestamp
	// contains filtered or unexported fields
}

ARC-Message-Signature の構造体

func ParseARCMessageSignature

func ParseARCMessageSignature(s string) (*ARCMessageSignature, error)

ARC-Message-Signature のパース

func (*ARCMessageSignature) GetCanonicalizationAndAlgorithm

func (ams *ARCMessageSignature) GetCanonicalizationAndAlgorithm() *CanonicalizationAndAlgorithm

func (*ARCMessageSignature) Raw

func (ams *ARCMessageSignature) Raw() string

func (*ARCMessageSignature) Sign

func (ams *ARCMessageSignature) Sign(headers []string, key crypto.Signer) error

ARC-Message-Signature の署名

func (ARCMessageSignature) String

func (ams ARCMessageSignature) String() string

ARC-Message-Signature の文字列化 ヘッダ名は含まない

func (*ARCMessageSignature) Verify

func (ams *ARCMessageSignature) Verify(headers []string, bodyHash string, domainKey *domainkey.DomainKey) *VerifyResult

ARC-Message-Signature の検証

type ARCSeal

type ARCSeal struct {
	Algorithm       SignatureAlgorithm    // a algorithm
	Signature       string                // b signature
	ChainValidation ChainValidationResult // cv chain validation result
	Domain          string                // d domain
	InstanceNumber  int                   // i instance number
	Selector        string                // s selector
	Timestamp       int64                 // t timestamp
	// contains filtered or unexported fields
}

ARC-Seal の構造体

func ParseARCSeal

func ParseARCSeal(s string) (*ARCSeal, error)

ARC-Seal のパース

func (*ARCSeal) Raw

func (as *ARCSeal) Raw() string

func (*ARCSeal) Sign

func (as *ARCSeal) Sign(headers []string, key crypto.Signer) error

ARC-Seal の署名

func (ARCSeal) String

func (as ARCSeal) String() string

ARC-Seal の文字列化 ヘッダ名は含まない

func (*ARCSeal) Verify

func (as *ARCSeal) Verify(headers []string, domainKey *domainkey.DomainKey) *VerifyResult

ARC-Seal の検証

type Canonicalization

type Canonicalization canonical.Canonicalization

正規化

const (
	CanonicalizationSimple  Canonicalization = "simple"
	CanonicalizationRelaxed Canonicalization = "relaxed"
)

type CanonicalizationAndAlgorithm

type CanonicalizationAndAlgorithm struct {
	Header    Canonicalization
	Body      Canonicalization
	Algorithm SignatureAlgorithm
	HashAlgo  crypto.Hash
}

type ChainValidationResult

type ChainValidationResult string
const (
	ChainValidationResultPass ChainValidationResult = "pass"
	ChainValidationResultFail ChainValidationResult = "fail"
	ChainValidationResultNone ChainValidationResult = "none"
)

type Signature

type Signature struct {
	InstanceNumber           int
	ARCSeal                  *ARCSeal
	ARCMessageSignature      *ARCMessageSignature
	ARCAuthenticationResults *ARCAuthenticationResults
	VerifyResult             *VerifyResult
}

func (*Signature) Verify

func (arc *Signature) Verify(headers []string, bodyHash string, domainKey *domainkey.DomainKey)

type SignatureAlgorithm

type SignatureAlgorithm string

ARC署名のアルゴリズム

const (
	SignatureAlgorithmRSA_SHA1       SignatureAlgorithm = "rsa-sha1"
	SignatureAlgorithmRSA_SHA256     SignatureAlgorithm = "rsa-sha256"
	SignatureAlgorithmED25519_SHA256 SignatureAlgorithm = "ed25519-sha256"
)

type VerifyResult

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

func (*VerifyResult) Error

func (v *VerifyResult) Error() error

func (*VerifyResult) Message

func (v *VerifyResult) Message() string

func (*VerifyResult) Status

func (v *VerifyResult) Status() VerifyStatus

type VerifyStatus

type VerifyStatus string
const (
	VerifyStatusNeutral VerifyStatus = "neutral"
	VerifyStatusFail    VerifyStatus = "fail"
	VerifyStatusTempErr VerifyStatus = "temperror"
	VerifyStatusPermErr VerifyStatus = "permerror"
	VerifyStatusPass    VerifyStatus = "pass"
	VerifyStatusNone    VerifyStatus = "none"
)

Jump to

Keyboard shortcuts

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