idemix

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2022 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EIDIndex = 2
	RHIndex  = 3
)
View Source
const DefaultCacheSize = 3
View Source
const (
	MSP = "idemix"
)

Variables

This section is empty.

Functions

func GetRoleMaskFromIdemixRole

func GetRoleMaskFromIdemixRole(role Role) int

GetRoleMaskFromIdemixRole return a bitmask for one role

func NewWallet

func NewWallet(networkID string, nodeIdentity view.Identity, localMembership localMembership) *wallet

Types

type AuditInfo

type AuditInfo struct {
	*csp.NymEIDAuditData
	Attributes      [][]byte
	Csp             csp.BCCSP `json:"-"`
	IssuerPublicKey csp.Key   `json:"-"`
}

func DeserializeAuditInfo

func DeserializeAuditInfo(raw []byte) (*AuditInfo, error)

func (*AuditInfo) Bytes

func (a *AuditInfo) Bytes() ([]byte, error)

func (*AuditInfo) EnrollmentID

func (a *AuditInfo) EnrollmentID() string

func (*AuditInfo) FromBytes

func (a *AuditInfo) FromBytes(raw []byte) error

func (*AuditInfo) Match

func (a *AuditInfo) Match(id []byte) error

type Common

type Common struct {
	Name            string
	IPK             []byte
	CSP             bccsp.BCCSP
	IssuerPublicKey bccsp.Key
	RevocationPK    bccsp.Key
	Epoch           int
	VerType         bccsp.VerificationType
	NymEID          []byte
}

func (*Common) Deserialize

func (c *Common) Deserialize(raw []byte, checkValidity bool) (*Deserialized, error)

func (*Common) DeserializeAuditInfo

func (c *Common) DeserializeAuditInfo(raw []byte) (*AuditInfo, error)

func (*Common) DeserializeWithNymEID

func (c *Common) DeserializeWithNymEID(raw view.Identity, checkValidity bool, nymEID []byte) (*Deserialized, error)

type Deserialized

type Deserialized struct {
	NymPublicKey bccsp.Key
	// contains filtered or unexported fields
}

type Deserializer

type Deserializer struct {
	*Common
}

func NewDeserializer

func NewDeserializer(ipk []byte, curveID math.CurveID) (*Deserializer, error)

NewDeserializer returns a new deserializer for the best effort strategy

func (*Deserializer) DeserializeAuditInfo

func (i *Deserializer) DeserializeAuditInfo(raw []byte) (driver.Matcher, error)

func (*Deserializer) DeserializeSigner

func (i *Deserializer) DeserializeSigner(raw []byte) (driver.Signer, error)

func (*Deserializer) DeserializeVerifier

func (i *Deserializer) DeserializeVerifier(raw view.Identity) (driver.Verifier, error)

func (*Deserializer) DeserializerVerifierWithNymEID

func (i *Deserializer) DeserializerVerifierWithNymEID(raw view.Identity, nymEID []byte) (driver.Verifier, error)

func (*Deserializer) Info

func (i *Deserializer) Info(raw []byte, auditInfo []byte) (string, error)

func (*Deserializer) String

func (i *Deserializer) String() string

type Identity

type Identity struct {
	NymPublicKey bccsp.Key
	Common       *Common
	ID           *msp.IdentityIdentifier
	Role         *m.MSPRole
	OU           *m.OrganizationUnit
	// AssociationProof contains cryptographic proof that this identity
	// belongs to the MSP id.provider, i.e., it proves that the pseudonym
	// is constructed from a secret key on which the CA issued a credential.
	AssociationProof []byte
	VerificationType bccsp.VerificationType
}

func NewIdentity

func NewIdentity(provider *Common, NymPublicKey bccsp.Key, role *m.MSPRole, ou *m.OrganizationUnit, proof []byte) (*Identity, error)

func NewIdentityWithVerType

func NewIdentityWithVerType(common *Common, NymPublicKey bccsp.Key, role *m.MSPRole, ou *m.OrganizationUnit, proof []byte, verificationType bccsp.VerificationType) (*Identity, error)

func (*Identity) Anonymous

func (id *Identity) Anonymous() bool

func (*Identity) ExpiresAt

func (id *Identity) ExpiresAt() time.Time

func (*Identity) GetIdentifier

func (id *Identity) GetIdentifier() *msp.IdentityIdentifier

func (*Identity) GetMSPIdentifier

func (id *Identity) GetMSPIdentifier() string

func (*Identity) GetOrganizationalUnits

func (id *Identity) GetOrganizationalUnits() []*msp.OUIdentifier

func (*Identity) SatisfiesPrincipal

func (id *Identity) SatisfiesPrincipal(principal *m.MSPPrincipal) error

func (*Identity) Serialize

func (id *Identity) Serialize() ([]byte, error)

func (*Identity) Validate

func (id *Identity) Validate() error

func (*Identity) Verify

func (id *Identity) Verify(msg []byte, sig []byte) error

type IdentityCache

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

func NewIdentityCache

func NewIdentityCache(backed IdentityCacheBackendFunc, size int) *IdentityCache

func (*IdentityCache) Identity

func (c *IdentityCache) Identity(opts *driver2.IdentityOptions) (view.Identity, []byte, error)

type IdentityCacheBackendFunc

type IdentityCacheBackendFunc func(opts *driver2.IdentityOptions) (view.Identity, []byte, error)

type LocalMembership

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

func NewLocalMembership

func NewLocalMembership(
	sp view2.ServiceProvider,
	configManager config.Manager,
	defaultNetworkIdentity view.Identity,
	signerService common.SignerService,
	binderService common.BinderService,
	deserializerManager common.DeserializerManager,
	kvs common.KVS,
	mspID string,
) *LocalMembership

func (*LocalMembership) DefaultNetworkIdentity

func (lm *LocalMembership) DefaultNetworkIdentity() view.Identity

func (*LocalMembership) GetDefaultIdentifier

func (lm *LocalMembership) GetDefaultIdentifier() string

func (*LocalMembership) GetIdentifier

func (lm *LocalMembership) GetIdentifier(id view.Identity) (string, error)

func (*LocalMembership) GetIdentityInfo

func (lm *LocalMembership) GetIdentityInfo(label string, auditInfo []byte) (driver.IdentityInfo, error)

func (*LocalMembership) IsMe

func (lm *LocalMembership) IsMe(id view.Identity) bool

func (*LocalMembership) Load

func (lm *LocalMembership) Load(identities []*config.Identity) error

func (*LocalMembership) RegisterIdentity

func (lm *LocalMembership) RegisterIdentity(id string, path string) error

type Role

type Role int32

Role : Represents a IdemixRole

const (
	MEMBER Role = 1
	ADMIN  Role = 2
	CLIENT Role = 4
	PEER   Role = 8
)

The expected roles are 4; We can combine them using a bitmask

type SigningIdentity

type SigningIdentity struct {
	*Identity
	Cred         []byte
	UserKey      bccsp.Key
	NymKey       bccsp.Key
	EnrollmentId string
}

func (*SigningIdentity) GetPublicVersion

func (id *SigningIdentity) GetPublicVersion() driver.Identity

func (*SigningIdentity) Sign

func (id *SigningIdentity) Sign(msg []byte) ([]byte, error)

type Verifier

type Verifier struct {
	CSP   bccsp.BCCSP
	IPK   bccsp.Key
	NymPK bccsp.Key
}

func (*Verifier) Verify

func (v *Verifier) Verify(message, sigma []byte) error

type WalletIdentityCache

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

func NewWalletIdentityCache

func NewWalletIdentityCache(backed WalletIdentityCacheBackendFunc, size int) *WalletIdentityCache

func (*WalletIdentityCache) Identity

func (c *WalletIdentityCache) Identity() (view.Identity, error)

type WalletIdentityCacheBackendFunc

type WalletIdentityCacheBackendFunc func() (view.Identity, error)

Jump to

Keyboard shortcuts

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