Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateCardID(data []byte) string
- func ParseSnapshot(data []byte, obj interface{}) error
- func TakeSnapshot(obj interface{}) ([]byte, error)
- type Card
- type CardClient
- func (c *CardClient) GetCard(cardID string, token string) (*RawSignedModel, bool, error)
- func (c *CardClient) PublishCard(rawCard *RawSignedModel, token string) (*RawSignedModel, error)
- func (c *CardClient) RevokeCard(cardID string, token string) error
- func (c *CardClient) SearchCards(identities []string, cardTypes []string, token string) ([]*RawSignedModel, error)
- type CardClientOption
- type CardCrypto
- func (c *CardCrypto) ExportPublicKey(key crypto.PublicKey) ([]byte, error)
- func (c *CardCrypto) Hash(data []byte, t crypto.HashType) ([]byte, error)
- func (c *CardCrypto) ImportPublicKey(data []byte) (crypto.PublicKey, error)
- func (c *CardCrypto) Sign(data []byte, key crypto.PrivateKey) ([]byte, error)
- func (c *CardCrypto) VerifySignature(data []byte, signature []byte, key crypto.PublicKey) error
- type CardManager
- func (c *CardManager) ExportCardAsJson(card *Card) (string, error)
- func (c *CardManager) ExportCardAsRawCard(card *Card) (*RawSignedModel, error)
- func (c *CardManager) ExportCardAsString(card *Card) (string, error)
- func (c *CardManager) GenerateRawCard(cardParams *CardParams) (*RawSignedModel, error)
- func (c *CardManager) GetCard(cardID string) (*Card, error)
- func (c *CardManager) ImportCard(model *RawSignedModel) (*Card, error)
- func (c *CardManager) ImportCardFromJson(json string) (*Card, error)
- func (c *CardManager) ImportCardFromString(str string) (*Card, error)
- func (c *CardManager) PublishCard(cardParams *CardParams) (*Card, error)
- func (c *CardManager) PublishRawCard(rawSignedModel *RawSignedModel) (card *Card, err error)
- func (c *CardManager) RevokeCard(cardID string) error
- func (c *CardManager) SearchCards(identities ...string) (Cards, error)
- func (c *CardManager) SearchCardsWithTypes(identities []string, cardTypes ...string) (Cards, error)
- func (c *CardManager) Validate() error
- type CardManagerOption
- func CardManagerSetCardClient(cc *CardClient) CardManagerOption
- func CardManagerSetCardVerifier(cv CardVerifier) CardManagerOption
- func CardManagerSetCrypto(cc Crypto) CardManagerOption
- func CardManagerSetModelSigner(ms *ModelSigner) CardManagerOption
- func CardManagerSetSignCallback(callback func(model *RawSignedModel) (signedCard *RawSignedModel, err error)) CardManagerOption
- type CardParams
- type CardSignature
- type CardVerifier
- type Cards
- type Crypto
- type ModelSigner
- func (m *ModelSigner) CheckSignatureExists(model *RawSignedModel, signer string) error
- func (m *ModelSigner) SelfSign(model *RawSignedModel, privateKey crypto.PrivateKey, ...) (err error)
- func (m *ModelSigner) SelfSignRaw(model *RawSignedModel, privateKey crypto.PrivateKey, ...) (err error)
- func (m *ModelSigner) Sign(model *RawSignedModel, signer string, privateKey crypto.PrivateKey, ...) (err error)
- func (m *ModelSigner) SignRaw(model *RawSignedModel, signer string, privateKey crypto.PrivateKey, ...) (err error)
- type RawCardContent
- type RawCardSignature
- type RawSignedModel
- func GenerateRawCard(crypto Crypto, cardParams *CardParams, createdAt time.Time) (*RawSignedModel, error)
- func GenerateRawSignedModelFromJson(json string) (*RawSignedModel, error)
- func GenerateRawSignedModelFromString(str string) (*RawSignedModel, error)
- func ParseCard(crypto Crypto, card *Card) (*RawSignedModel, error)
- type SearchByTypeRequest
- type VerifierCredentials
- type VirgilCardVerifier
- type VirgilCardVerifierOption
- func VirgilCardVerifierAddWhitelist(wl Whitelist) VirgilCardVerifierOption
- func VirgilCardVerifierDisableSelfSignature() VirgilCardVerifierOption
- func VirgilCardVerifierDisableVirgilSignature() VirgilCardVerifierOption
- func VirgilCardVerifierSetCardsServicePublicKey(ks string) VirgilCardVerifierOption
- func VirgilCardVerifierSetCrypto(c Crypto) VirgilCardVerifierOption
- type Whitelist
Constants ¶
View Source
const ( SelfSigner = "self" VirgilSigner = "virgil" )
View Source
const (
CardVersion = "5.0"
)
Variables ¶
View Source
var ( ErrInvalidCardID = errors.New("invalid card id") ErrIdentityIsMandatory = errors.New("identity is mandatory") ErrPrivateKeyIsMandatory = errors.New("private key is mandatory") ErrCryptoIsMandatory = errors.New("crypto is mandatory") ErrCardIsMandatory = errors.New("card is mandatory") ErrCardPublicKeyUnset = errors.New("card public key is not set") CSRIdentityEmptyErr = errors.New("Identity field in CSR is mandatory") CSRSignParamIncorrectErr = errors.New("CSR signature params incorrect") CSRPublicKeyEmptyErr = errors.New("Public key field in CSR is mandatory") CSRSelfSignAlreadyExistErr = errors.New("The CSR already has a self signature") CSRAppSignAlreadyExistErr = errors.New("The CSR already has an application signature") ErrRawSignedModelIsMandatory = errors.New("raw signerd model is mandatory") ErrDuplicateSigner = errors.New("duplicate signer") ErrValidationSignature = errors.New("signature validation error") ErrSignerWasNotFound = errors.New("signer was not found") )
Functions ¶
func GenerateCardID ¶
func ParseSnapshot ¶
func TakeSnapshot ¶
Types ¶
type Card ¶
type Card struct { Id string Identity string CardType string PublicKey crypto.PublicKey Version string CreatedAt time.Time PreviousCardId string PreviousCard *Card IsOutdated bool Signatures []*CardSignature ContentSnapshot []byte }
func ParseRawCard ¶
func ParseRawCard(crypto Crypto, model *RawSignedModel, isOutdated bool) (*Card, error)
func ParseRawCards ¶
func ParseRawCards(crypto Crypto, models ...*RawSignedModel) ([]*Card, error)
type CardClient ¶
type CardClient struct {
// contains filtered or unexported fields
}
func NewCardsClient ¶
func NewCardsClient(options ...CardClientOption) *CardClient
func (*CardClient) GetCard ¶
func (c *CardClient) GetCard(cardID string, token string) (*RawSignedModel, bool, error)
func (*CardClient) PublishCard ¶
func (c *CardClient) PublishCard(rawCard *RawSignedModel, token string) (*RawSignedModel, error)
func (*CardClient) RevokeCard ¶
func (c *CardClient) RevokeCard(cardID string, token string) error
func (*CardClient) SearchCards ¶
func (c *CardClient) SearchCards(identities []string, cardTypes []string, token string) ([]*RawSignedModel, error)
type CardClientOption ¶
type CardClientOption func(c *cardClientOption)
func SetCardClientHTTPClient ¶
func SetCardClientHTTPClient(httpClient *http.Client) CardClientOption
func SetCardClientURL ¶
func SetCardClientURL(serviceURL string) CardClientOption
type CardCrypto ¶
type CardCrypto struct {
Crypto Crypto
}
func (*CardCrypto) ExportPublicKey ¶
func (c *CardCrypto) ExportPublicKey(key crypto.PublicKey) ([]byte, error)
func (*CardCrypto) ImportPublicKey ¶
func (c *CardCrypto) ImportPublicKey(data []byte) (crypto.PublicKey, error)
func (*CardCrypto) Sign ¶ added in v6.0.11
func (c *CardCrypto) Sign(data []byte, key crypto.PrivateKey) ([]byte, error)
func (*CardCrypto) VerifySignature ¶
type CardManager ¶
type CardManager struct {
// contains filtered or unexported fields
}
func NewCardManager ¶
func NewCardManager(accessTokenProvider session.AccessTokenProvider, options ...CardManagerOption) *CardManager
func (*CardManager) ExportCardAsJson ¶
func (c *CardManager) ExportCardAsJson(card *Card) (string, error)
func (*CardManager) ExportCardAsRawCard ¶
func (c *CardManager) ExportCardAsRawCard(card *Card) (*RawSignedModel, error)
func (*CardManager) ExportCardAsString ¶
func (c *CardManager) ExportCardAsString(card *Card) (string, error)
func (*CardManager) GenerateRawCard ¶
func (c *CardManager) GenerateRawCard(cardParams *CardParams) (*RawSignedModel, error)
func (*CardManager) ImportCard ¶
func (c *CardManager) ImportCard(model *RawSignedModel) (*Card, error)
func (*CardManager) ImportCardFromJson ¶
func (c *CardManager) ImportCardFromJson(json string) (*Card, error)
func (*CardManager) ImportCardFromString ¶
func (c *CardManager) ImportCardFromString(str string) (*Card, error)
func (*CardManager) PublishCard ¶
func (c *CardManager) PublishCard(cardParams *CardParams) (*Card, error)
func (*CardManager) PublishRawCard ¶
func (c *CardManager) PublishRawCard(rawSignedModel *RawSignedModel) (card *Card, err error)
func (*CardManager) RevokeCard ¶
func (c *CardManager) RevokeCard(cardID string) error
func (*CardManager) SearchCards ¶
func (c *CardManager) SearchCards(identities ...string) (Cards, error)
func (*CardManager) SearchCardsWithTypes ¶ added in v6.0.13
func (c *CardManager) SearchCardsWithTypes(identities []string, cardTypes ...string) (Cards, error)
func (*CardManager) Validate ¶ added in v6.0.1
func (c *CardManager) Validate() error
type CardManagerOption ¶
type CardManagerOption func(c *CardManager)
func CardManagerSetCardClient ¶
func CardManagerSetCardClient(cc *CardClient) CardManagerOption
func CardManagerSetCardVerifier ¶
func CardManagerSetCardVerifier(cv CardVerifier) CardManagerOption
func CardManagerSetCrypto ¶
func CardManagerSetCrypto(cc Crypto) CardManagerOption
func CardManagerSetModelSigner ¶
func CardManagerSetModelSigner(ms *ModelSigner) CardManagerOption
func CardManagerSetSignCallback ¶
func CardManagerSetSignCallback(callback func(model *RawSignedModel) (signedCard *RawSignedModel, err error)) CardManagerOption
type CardParams ¶
type CardParams struct { Identity string CardType string PrivateKey crypto.PrivateKey PreviousCardId string ExtraFields map[string]string }
func (*CardParams) Validate ¶
func (c *CardParams) Validate() error
type CardSignature ¶
type CardVerifier ¶
type Crypto ¶
type Crypto interface { Sign(data []byte, privateKey crypto.PrivateKey) ([]byte, error) VerifySignature(data []byte, signature []byte, publicKey crypto.PublicKey) error ExportPublicKey(publicKey crypto.PublicKey) ([]byte, error) ImportPublicKey(publicKeySrc []byte) (crypto.PublicKey, error) Hash(data []byte, t crypto.HashType) ([]byte, error) }
type ModelSigner ¶
type ModelSigner struct {
Crypto Crypto
}
func (*ModelSigner) CheckSignatureExists ¶
func (m *ModelSigner) CheckSignatureExists(model *RawSignedModel, signer string) error
func (*ModelSigner) SelfSign ¶
func (m *ModelSigner) SelfSign(model *RawSignedModel, privateKey crypto.PrivateKey, extraFields map[string]string) (err error)
func (*ModelSigner) SelfSignRaw ¶
func (m *ModelSigner) SelfSignRaw(model *RawSignedModel, privateKey crypto.PrivateKey, extraFieldsSnapshot []byte) (err error)
func (*ModelSigner) Sign ¶
func (m *ModelSigner) Sign(model *RawSignedModel, signer string, privateKey crypto.PrivateKey, extraFields map[string]string) (err error)
func (*ModelSigner) SignRaw ¶
func (m *ModelSigner) SignRaw(model *RawSignedModel, signer string, privateKey crypto.PrivateKey, extraFieldsSnapshot []byte) (err error)
type RawCardContent ¶
type RawCardSignature ¶
type RawSignedModel ¶
type RawSignedModel struct { ContentSnapshot []byte `json:"content_snapshot"` Signatures []*RawCardSignature `json:"signatures,omitempty"` }
func GenerateRawCard ¶
func GenerateRawCard(crypto Crypto, cardParams *CardParams, createdAt time.Time) (*RawSignedModel, error)
func GenerateRawSignedModelFromJson ¶
func GenerateRawSignedModelFromJson(json string) (*RawSignedModel, error)
func GenerateRawSignedModelFromString ¶
func GenerateRawSignedModelFromString(str string) (*RawSignedModel, error)
func (*RawSignedModel) ExportAsBase64EncodedString ¶
func (r *RawSignedModel) ExportAsBase64EncodedString() (string, error)
func (*RawSignedModel) ExportAsJson ¶
func (r *RawSignedModel) ExportAsJson() (string, error)
type SearchByTypeRequest ¶ added in v6.0.13
type VerifierCredentials ¶
type VirgilCardVerifier ¶
type VirgilCardVerifier struct {
// contains filtered or unexported fields
}
func NewVirgilCardVerifier ¶
func NewVirgilCardVerifier(options ...VirgilCardVerifierOption) *VirgilCardVerifier
func (*VirgilCardVerifier) GetPublicKeyFromBase64 ¶
func (v *VirgilCardVerifier) GetPublicKeyFromBase64(str string) (crypto.PublicKey, error)
func (*VirgilCardVerifier) ValidateSignerSignature ¶
func (*VirgilCardVerifier) VerifyCard ¶
func (v *VirgilCardVerifier) VerifyCard(card *Card) error
type VirgilCardVerifierOption ¶
type VirgilCardVerifierOption func(v *VirgilCardVerifier)
func VirgilCardVerifierAddWhitelist ¶
func VirgilCardVerifierAddWhitelist(wl Whitelist) VirgilCardVerifierOption
func VirgilCardVerifierDisableSelfSignature ¶
func VirgilCardVerifierDisableSelfSignature() VirgilCardVerifierOption
func VirgilCardVerifierDisableVirgilSignature ¶
func VirgilCardVerifierDisableVirgilSignature() VirgilCardVerifierOption
func VirgilCardVerifierSetCardsServicePublicKey ¶
func VirgilCardVerifierSetCardsServicePublicKey(ks string) VirgilCardVerifierOption
func VirgilCardVerifierSetCrypto ¶
func VirgilCardVerifierSetCrypto(c Crypto) VirgilCardVerifierOption
type Whitelist ¶
type Whitelist struct {
VerifierCredentials []*VerifierCredentials
}
func NewWhitelist ¶
func NewWhitelist(credentials ...*VerifierCredentials) Whitelist
Click to show internal directories.
Click to hide internal directories.