Documentation ¶
Overview ¶
Package proto is a generated protocol buffer package.
It is generated from these files:
client.proto config.proto duration.proto keyserverconfig.proto keyserverlocal.proto replication.proto timestamp.proto tlsconfig.proto verifierconfig.proto verifierlocal.proto verifier.proto
It has these top-level messages:
LookupRequest UpdateRequest LookupProof TreeProof Entry SignedEntryUpdate Profile SignedEpochHead TimestampedEpochHead EpochHead AuthorizationPolicy PublicKey QuorumExpr EmailProof Config RealmConfig Duration ReplicaConfig KeyserverConfig RegistrationPolicy EmailProofByDKIM EmailProofByClientCert EmailProofByOIDC OIDCConfig Replica ReplicaState KeyserverStep EpochDelimiter Timestamp TLSConfig CertificateAndKeyID VerifierConfig VerifierState VerifierStreamRequest VerifierStep Nothing
Index ¶
- Variables
- func KeyID(sv *PublicKey) uint64
- func MustMarshal(m interface{ ... }) []byte
- func RegisterE2EKSPublicServer(s *grpc.Server, srv E2EKSPublicServer)
- func RegisterE2EKSVerificationServer(s *grpc.Server, srv E2EKSVerificationServer)
- type AuthorizationPolicy
- func (this *AuthorizationPolicy) Equal(that interface{}) bool
- func (m *AuthorizationPolicy) GetPolicyType() isAuthorizationPolicy_PolicyType
- func (m *AuthorizationPolicy) GetPublicKeys() map[uint64]*PublicKey
- func (m *AuthorizationPolicy) GetQuorum() *QuorumExpr
- func (this *AuthorizationPolicy) GoString() string
- func (m *AuthorizationPolicy) Marshal() (data []byte, err error)
- func (m *AuthorizationPolicy) MarshalTo(data []byte) (int, error)
- func (*AuthorizationPolicy) ProtoMessage()
- func (m *AuthorizationPolicy) Reset()
- func (m *AuthorizationPolicy) Size() (n int)
- func (this *AuthorizationPolicy) String() string
- func (m *AuthorizationPolicy) Unmarshal(data []byte) error
- func (this *AuthorizationPolicy) VerboseEqual(that interface{}) error
- func (*AuthorizationPolicy) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type AuthorizationPolicy_Quorum
- func (this *AuthorizationPolicy_Quorum) Equal(that interface{}) bool
- func (this *AuthorizationPolicy_Quorum) GoString() string
- func (m *AuthorizationPolicy_Quorum) MarshalTo(data []byte) (int, error)
- func (m *AuthorizationPolicy_Quorum) Size() (n int)
- func (this *AuthorizationPolicy_Quorum) String() string
- func (this *AuthorizationPolicy_Quorum) VerboseEqual(that interface{}) error
- type CertificateAndKeyID
- func (this *CertificateAndKeyID) Equal(that interface{}) bool
- func (this *CertificateAndKeyID) GoString() string
- func (m *CertificateAndKeyID) Marshal() (data []byte, err error)
- func (m *CertificateAndKeyID) MarshalTo(data []byte) (int, error)
- func (*CertificateAndKeyID) ProtoMessage()
- func (m *CertificateAndKeyID) Reset()
- func (m *CertificateAndKeyID) Size() (n int)
- func (this *CertificateAndKeyID) String() string
- func (m *CertificateAndKeyID) Unmarshal(data []byte) error
- func (this *CertificateAndKeyID) VerboseEqual(that interface{}) error
- type CipherSuite
- type ClientAuthType
- type Config
- func (this *Config) Equal(that interface{}) bool
- func (m *Config) GetRealms() []*RealmConfig
- func (this *Config) GoString() string
- func (m *Config) Marshal() (data []byte, err error)
- func (m *Config) MarshalTo(data []byte) (int, error)
- func (*Config) ProtoMessage()
- func (m *Config) Reset()
- func (m *Config) Size() (n int)
- func (this *Config) String() string
- func (m *Config) Unmarshal(data []byte) error
- func (this *Config) VerboseEqual(that interface{}) error
- type CurveID
- type Duration
- func (dt *Duration) Duration() time.Duration
- func (this *Duration) Equal(that interface{}) bool
- func (this *Duration) GoString() string
- func (m *Duration) Marshal() (data []byte, err error)
- func (m *Duration) MarshalTo(data []byte) (int, error)
- func (*Duration) ProtoMessage()
- func (m *Duration) Reset()
- func (m *Duration) Size() (n int)
- func (this *Duration) String() string
- func (m *Duration) Unmarshal(data []byte) error
- func (this *Duration) VerboseEqual(that interface{}) error
- type E2EKSPublicClient
- type E2EKSPublicServer
- type E2EKSVerificationClient
- type E2EKSVerificationServer
- type E2EKSVerification_VerifierStreamClient
- type E2EKSVerification_VerifierStreamServer
- type EmailProof
- func (this *EmailProof) Equal(that interface{}) bool
- func (m *EmailProof) GetDKIMProof() []byte
- func (m *EmailProof) GetOIDCToken() string
- func (m *EmailProof) GetProofType() isEmailProof_ProofType
- func (this *EmailProof) GoString() string
- func (m *EmailProof) Marshal() (data []byte, err error)
- func (m *EmailProof) MarshalTo(data []byte) (int, error)
- func (*EmailProof) ProtoMessage()
- func (m *EmailProof) Reset()
- func (m *EmailProof) Size() (n int)
- func (this *EmailProof) String() string
- func (m *EmailProof) Unmarshal(data []byte) error
- func (this *EmailProof) VerboseEqual(that interface{}) error
- func (*EmailProof) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type EmailProofByClientCert
- func (this *EmailProofByClientCert) Equal(that interface{}) bool
- func (this *EmailProofByClientCert) GoString() string
- func (m *EmailProofByClientCert) Marshal() (data []byte, err error)
- func (m *EmailProofByClientCert) MarshalTo(data []byte) (int, error)
- func (*EmailProofByClientCert) ProtoMessage()
- func (m *EmailProofByClientCert) Reset()
- func (m *EmailProofByClientCert) Size() (n int)
- func (this *EmailProofByClientCert) String() string
- func (m *EmailProofByClientCert) Unmarshal(data []byte) error
- func (this *EmailProofByClientCert) VerboseEqual(that interface{}) error
- type EmailProofByDKIM
- func (this *EmailProofByDKIM) Equal(that interface{}) bool
- func (this *EmailProofByDKIM) GoString() string
- func (m *EmailProofByDKIM) Marshal() (data []byte, err error)
- func (m *EmailProofByDKIM) MarshalTo(data []byte) (int, error)
- func (*EmailProofByDKIM) ProtoMessage()
- func (m *EmailProofByDKIM) Reset()
- func (m *EmailProofByDKIM) Size() (n int)
- func (this *EmailProofByDKIM) String() string
- func (m *EmailProofByDKIM) Unmarshal(data []byte) error
- func (this *EmailProofByDKIM) VerboseEqual(that interface{}) error
- type EmailProofByOIDC
- func (this *EmailProofByOIDC) Equal(that interface{}) bool
- func (m *EmailProofByOIDC) GetOIDCConfig() []*OIDCConfig
- func (this *EmailProofByOIDC) GoString() string
- func (m *EmailProofByOIDC) Marshal() (data []byte, err error)
- func (m *EmailProofByOIDC) MarshalTo(data []byte) (int, error)
- func (*EmailProofByOIDC) ProtoMessage()
- func (m *EmailProofByOIDC) Reset()
- func (m *EmailProofByOIDC) Size() (n int)
- func (this *EmailProofByOIDC) String() string
- func (m *EmailProofByOIDC) Unmarshal(data []byte) error
- func (this *EmailProofByOIDC) VerboseEqual(that interface{}) error
- type EmailProof_DKIMProof
- func (this *EmailProof_DKIMProof) Equal(that interface{}) bool
- func (this *EmailProof_DKIMProof) GoString() string
- func (m *EmailProof_DKIMProof) MarshalTo(data []byte) (int, error)
- func (m *EmailProof_DKIMProof) Size() (n int)
- func (this *EmailProof_DKIMProof) String() string
- func (this *EmailProof_DKIMProof) VerboseEqual(that interface{}) error
- type EmailProof_OIDCToken
- func (this *EmailProof_OIDCToken) Equal(that interface{}) bool
- func (this *EmailProof_OIDCToken) GoString() string
- func (m *EmailProof_OIDCToken) MarshalTo(data []byte) (int, error)
- func (m *EmailProof_OIDCToken) Size() (n int)
- func (this *EmailProof_OIDCToken) String() string
- func (this *EmailProof_OIDCToken) VerboseEqual(that interface{}) error
- type EncodedAuthorizationPolicy
- func (this *EncodedAuthorizationPolicy) Equal(that interface{}) bool
- func (this *EncodedAuthorizationPolicy) GoString() string
- func (m *EncodedAuthorizationPolicy) Marshal() ([]byte, error)
- func (m *EncodedAuthorizationPolicy) MarshalJSON() ([]byte, error)
- func (m *EncodedAuthorizationPolicy) MarshalTo(data []byte) (int, error)
- func (m *EncodedAuthorizationPolicy) Reset()
- func (m *EncodedAuthorizationPolicy) Size() int
- func (this *EncodedAuthorizationPolicy) String() string
- func (m *EncodedAuthorizationPolicy) Unmarshal(data []byte) error
- func (m *EncodedAuthorizationPolicy) UnmarshalJSON(s []byte) error
- func (m *EncodedAuthorizationPolicy) UpdateEncoding()
- func (this *EncodedAuthorizationPolicy) VerboseEqual(that interface{}) error
- type EncodedEntry
- func (this *EncodedEntry) Equal(that interface{}) bool
- func (this *EncodedEntry) GoString() string
- func (m *EncodedEntry) Marshal() ([]byte, error)
- func (m *EncodedEntry) MarshalJSON() ([]byte, error)
- func (m *EncodedEntry) MarshalTo(data []byte) (int, error)
- func (m *EncodedEntry) Reset()
- func (m *EncodedEntry) Size() int
- func (this *EncodedEntry) String() string
- func (m *EncodedEntry) Unmarshal(data []byte) error
- func (m *EncodedEntry) UnmarshalJSON(s []byte) error
- func (m *EncodedEntry) UpdateEncoding()
- func (this *EncodedEntry) VerboseEqual(that interface{}) error
- type EncodedEpochHead
- func (this *EncodedEpochHead) Equal(that interface{}) bool
- func (this *EncodedEpochHead) GoString() string
- func (m *EncodedEpochHead) Marshal() ([]byte, error)
- func (m *EncodedEpochHead) MarshalJSON() ([]byte, error)
- func (m *EncodedEpochHead) MarshalTo(data []byte) (int, error)
- func (m *EncodedEpochHead) Reset()
- func (m *EncodedEpochHead) Size() int
- func (this *EncodedEpochHead) String() string
- func (m *EncodedEpochHead) Unmarshal(data []byte) error
- func (m *EncodedEpochHead) UnmarshalJSON(s []byte) error
- func (m *EncodedEpochHead) UpdateEncoding()
- func (this *EncodedEpochHead) VerboseEqual(that interface{}) error
- type EncodedProfile
- func (this *EncodedProfile) Equal(that interface{}) bool
- func (this *EncodedProfile) GoString() string
- func (m *EncodedProfile) Marshal() ([]byte, error)
- func (m *EncodedProfile) MarshalJSON() ([]byte, error)
- func (m *EncodedProfile) MarshalTo(data []byte) (int, error)
- func (m *EncodedProfile) Reset()
- func (m *EncodedProfile) Size() int
- func (this *EncodedProfile) String() string
- func (m *EncodedProfile) Unmarshal(data []byte) error
- func (m *EncodedProfile) UnmarshalJSON(s []byte) error
- func (m *EncodedProfile) UpdateEncoding()
- func (this *EncodedProfile) VerboseEqual(that interface{}) error
- type EncodedSignedEntryUpdate
- func (this *EncodedSignedEntryUpdate) Equal(that interface{}) bool
- func (this *EncodedSignedEntryUpdate) GoString() string
- func (m *EncodedSignedEntryUpdate) Marshal() ([]byte, error)
- func (m *EncodedSignedEntryUpdate) MarshalJSON() ([]byte, error)
- func (m *EncodedSignedEntryUpdate) MarshalTo(data []byte) (int, error)
- func (m *EncodedSignedEntryUpdate) Reset()
- func (m *EncodedSignedEntryUpdate) Size() int
- func (this *EncodedSignedEntryUpdate) String() string
- func (m *EncodedSignedEntryUpdate) Unmarshal(data []byte) error
- func (m *EncodedSignedEntryUpdate) UnmarshalJSON(s []byte) error
- func (m *EncodedSignedEntryUpdate) UpdateEncoding()
- func (this *EncodedSignedEntryUpdate) VerboseEqual(that interface{}) error
- type EncodedTimestampedEpochHead
- func (this *EncodedTimestampedEpochHead) Equal(that interface{}) bool
- func (this *EncodedTimestampedEpochHead) GoString() string
- func (m *EncodedTimestampedEpochHead) Marshal() ([]byte, error)
- func (m *EncodedTimestampedEpochHead) MarshalJSON() ([]byte, error)
- func (m *EncodedTimestampedEpochHead) MarshalTo(data []byte) (int, error)
- func (m *EncodedTimestampedEpochHead) Reset()
- func (m *EncodedTimestampedEpochHead) Size() int
- func (this *EncodedTimestampedEpochHead) String() string
- func (m *EncodedTimestampedEpochHead) Unmarshal(data []byte) error
- func (m *EncodedTimestampedEpochHead) UnmarshalJSON(s []byte) error
- func (m *EncodedTimestampedEpochHead) UpdateEncoding()
- func (this *EncodedTimestampedEpochHead) VerboseEqual(that interface{}) error
- type Entry
- func (this *Entry) Equal(that interface{}) bool
- func (m *Entry) GetUpdatePolicy() *AuthorizationPolicy
- func (this *Entry) GoString() string
- func (m *Entry) Marshal() (data []byte, err error)
- func (m *Entry) MarshalTo(data []byte) (int, error)
- func (*Entry) ProtoMessage()
- func (m *Entry) Reset()
- func (m *Entry) Size() (n int)
- func (this *Entry) String() string
- func (m *Entry) Unmarshal(data []byte) error
- func (this *Entry) VerboseEqual(that interface{}) error
- type EpochDelimiter
- func (this *EpochDelimiter) Equal(that interface{}) bool
- func (m *EpochDelimiter) GetTimestamp() Timestamp
- func (this *EpochDelimiter) GoString() string
- func (m *EpochDelimiter) Marshal() (data []byte, err error)
- func (m *EpochDelimiter) MarshalTo(data []byte) (int, error)
- func (*EpochDelimiter) ProtoMessage()
- func (m *EpochDelimiter) Reset()
- func (m *EpochDelimiter) Size() (n int)
- func (this *EpochDelimiter) String() string
- func (m *EpochDelimiter) Unmarshal(data []byte) error
- func (this *EpochDelimiter) VerboseEqual(that interface{}) error
- type EpochHead
- func (this *EpochHead) Equal(that interface{}) bool
- func (m *EpochHead) GetIssueTime() Timestamp
- func (m *EpochHead) GetNextEpochPolicy() AuthorizationPolicy
- func (this *EpochHead) GoString() string
- func (m *EpochHead) Marshal() (data []byte, err error)
- func (m *EpochHead) MarshalTo(data []byte) (int, error)
- func (*EpochHead) ProtoMessage()
- func (m *EpochHead) Reset()
- func (m *EpochHead) Size() (n int)
- func (this *EpochHead) String() string
- func (m *EpochHead) Unmarshal(data []byte) error
- func (this *EpochHead) VerboseEqual(that interface{}) error
- type KeyserverConfig
- func (this *KeyserverConfig) Equal(that interface{}) bool
- func (m *KeyserverConfig) GetInitialReplicas() []*Replica
- func (m *KeyserverConfig) GetMaxEpochInterval() Duration
- func (m *KeyserverConfig) GetMinEpochInterval() Duration
- func (m *KeyserverConfig) GetProposalRetryInterval() Duration
- func (m *KeyserverConfig) GetRegistrationPolicy() []*RegistrationPolicy
- func (this *KeyserverConfig) GoString() string
- func (m *KeyserverConfig) Marshal() (data []byte, err error)
- func (m *KeyserverConfig) MarshalTo(data []byte) (int, error)
- func (*KeyserverConfig) ProtoMessage()
- func (m *KeyserverConfig) Reset()
- func (m *KeyserverConfig) Size() (n int)
- func (this *KeyserverConfig) String() string
- func (m *KeyserverConfig) Unmarshal(data []byte) error
- func (this *KeyserverConfig) VerboseEqual(that interface{}) error
- type KeyserverStep
- func (this *KeyserverStep) Equal(that interface{}) bool
- func (m *KeyserverStep) GetEpochDelimiter() *EpochDelimiter
- func (m *KeyserverStep) GetReplicaSigned() *SignedEpochHead
- func (m *KeyserverStep) GetType() isKeyserverStep_Type
- func (m *KeyserverStep) GetUpdate() *UpdateRequest
- func (m *KeyserverStep) GetVerifierSigned() *SignedEpochHead
- func (this *KeyserverStep) GoString() string
- func (m *KeyserverStep) Marshal() (data []byte, err error)
- func (m *KeyserverStep) MarshalTo(data []byte) (int, error)
- func (*KeyserverStep) ProtoMessage()
- func (m *KeyserverStep) Reset()
- func (m *KeyserverStep) Size() (n int)
- func (this *KeyserverStep) String() string
- func (m *KeyserverStep) Unmarshal(data []byte) error
- func (this *KeyserverStep) VerboseEqual(that interface{}) error
- func (*KeyserverStep) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type KeyserverStep_EpochDelimiter
- func (this *KeyserverStep_EpochDelimiter) Equal(that interface{}) bool
- func (this *KeyserverStep_EpochDelimiter) GoString() string
- func (m *KeyserverStep_EpochDelimiter) MarshalTo(data []byte) (int, error)
- func (m *KeyserverStep_EpochDelimiter) Size() (n int)
- func (this *KeyserverStep_EpochDelimiter) String() string
- func (this *KeyserverStep_EpochDelimiter) VerboseEqual(that interface{}) error
- type KeyserverStep_ReplicaSigned
- func (this *KeyserverStep_ReplicaSigned) Equal(that interface{}) bool
- func (this *KeyserverStep_ReplicaSigned) GoString() string
- func (m *KeyserverStep_ReplicaSigned) MarshalTo(data []byte) (int, error)
- func (m *KeyserverStep_ReplicaSigned) Size() (n int)
- func (this *KeyserverStep_ReplicaSigned) String() string
- func (this *KeyserverStep_ReplicaSigned) VerboseEqual(that interface{}) error
- type KeyserverStep_Update
- func (this *KeyserverStep_Update) Equal(that interface{}) bool
- func (this *KeyserverStep_Update) GoString() string
- func (m *KeyserverStep_Update) MarshalTo(data []byte) (int, error)
- func (m *KeyserverStep_Update) Size() (n int)
- func (this *KeyserverStep_Update) String() string
- func (this *KeyserverStep_Update) VerboseEqual(that interface{}) error
- type KeyserverStep_VerifierSigned
- func (this *KeyserverStep_VerifierSigned) Equal(that interface{}) bool
- func (this *KeyserverStep_VerifierSigned) GoString() string
- func (m *KeyserverStep_VerifierSigned) MarshalTo(data []byte) (int, error)
- func (m *KeyserverStep_VerifierSigned) Size() (n int)
- func (this *KeyserverStep_VerifierSigned) String() string
- func (this *KeyserverStep_VerifierSigned) VerboseEqual(that interface{}) error
- type LookupProof
- func (this *LookupProof) Equal(that interface{}) bool
- func (m *LookupProof) GetRatifications() []*SignedEpochHead
- func (m *LookupProof) GetTreeProof() *TreeProof
- func (this *LookupProof) GoString() string
- func (m *LookupProof) Marshal() (data []byte, err error)
- func (m *LookupProof) MarshalTo(data []byte) (int, error)
- func (*LookupProof) ProtoMessage()
- func (m *LookupProof) Reset()
- func (m *LookupProof) Size() (n int)
- func (this *LookupProof) String() string
- func (m *LookupProof) Unmarshal(data []byte) error
- func (this *LookupProof) VerboseEqual(that interface{}) error
- type LookupRequest
- func (this *LookupRequest) Equal(that interface{}) bool
- func (m *LookupRequest) GetQuorumRequirement() *QuorumExpr
- func (this *LookupRequest) GoString() string
- func (m *LookupRequest) Marshal() (data []byte, err error)
- func (m *LookupRequest) MarshalTo(data []byte) (int, error)
- func (*LookupRequest) ProtoMessage()
- func (m *LookupRequest) Reset()
- func (m *LookupRequest) Size() (n int)
- func (this *LookupRequest) String() string
- func (m *LookupRequest) Unmarshal(data []byte) error
- func (this *LookupRequest) VerboseEqual(that interface{}) error
- type Nothing
- func (this *Nothing) Equal(that interface{}) bool
- func (m *Nothing) Marshal() (data []byte, err error)
- func (m *Nothing) MarshalTo(data []byte) (int, error)
- func (*Nothing) ProtoMessage()
- func (m *Nothing) Reset()
- func (m *Nothing) Size() (n int)
- func (this *Nothing) String() string
- func (m *Nothing) Unmarshal(data []byte) error
- func (this *Nothing) VerboseEqual(that interface{}) error
- type OIDCConfig
- func (this *OIDCConfig) Equal(that interface{}) bool
- func (m *OIDCConfig) GetValidity() Duration
- func (this *OIDCConfig) GoString() string
- func (m *OIDCConfig) Marshal() (data []byte, err error)
- func (m *OIDCConfig) MarshalTo(data []byte) (int, error)
- func (*OIDCConfig) ProtoMessage()
- func (m *OIDCConfig) Reset()
- func (m *OIDCConfig) Size() (n int)
- func (this *OIDCConfig) String() string
- func (m *OIDCConfig) Unmarshal(data []byte) error
- func (this *OIDCConfig) VerboseEqual(that interface{}) error
- type Profile
- func (this *Profile) Equal(that interface{}) bool
- func (m *Profile) GetKeys() map[string][]byte
- func (this *Profile) GoString() string
- func (m *Profile) Marshal() (data []byte, err error)
- func (m *Profile) MarshalTo(data []byte) (int, error)
- func (*Profile) ProtoMessage()
- func (m *Profile) Reset()
- func (m *Profile) Size() (n int)
- func (this *Profile) String() string
- func (m *Profile) Unmarshal(data []byte) error
- func (this *Profile) VerboseEqual(that interface{}) error
- type PublicKey
- func (this *PublicKey) Equal(that interface{}) bool
- func (m *PublicKey) GetEd25519() []byte
- func (m *PublicKey) GetPubkeyType() isPublicKey_PubkeyType
- func (this *PublicKey) GoString() string
- func (m *PublicKey) Marshal() (data []byte, err error)
- func (m *PublicKey) MarshalTo(data []byte) (int, error)
- func (*PublicKey) ProtoMessage()
- func (m *PublicKey) Reset()
- func (m *PublicKey) Size() (n int)
- func (this *PublicKey) String() string
- func (m *PublicKey) Unmarshal(data []byte) error
- func (this *PublicKey) VerboseEqual(that interface{}) error
- func (*PublicKey) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type PublicKey_Ed25519
- func (this *PublicKey_Ed25519) Equal(that interface{}) bool
- func (this *PublicKey_Ed25519) GoString() string
- func (m *PublicKey_Ed25519) MarshalTo(data []byte) (int, error)
- func (m *PublicKey_Ed25519) Size() (n int)
- func (this *PublicKey_Ed25519) String() string
- func (this *PublicKey_Ed25519) VerboseEqual(that interface{}) error
- type QuorumExpr
- func (this *QuorumExpr) Equal(that interface{}) bool
- func (m *QuorumExpr) GetSubexpressions() []*QuorumExpr
- func (this *QuorumExpr) GoString() string
- func (m *QuorumExpr) Marshal() (data []byte, err error)
- func (m *QuorumExpr) MarshalTo(data []byte) (int, error)
- func (*QuorumExpr) ProtoMessage()
- func (m *QuorumExpr) Reset()
- func (m *QuorumExpr) Size() (n int)
- func (this *QuorumExpr) String() string
- func (m *QuorumExpr) Unmarshal(data []byte) error
- func (this *QuorumExpr) VerboseEqual(that interface{}) error
- type RealmConfig
- func (this *RealmConfig) Equal(that interface{}) bool
- func (m *RealmConfig) GetClientTLS() *TLSConfig
- func (m *RealmConfig) GetEpochTimeToLive() Duration
- func (m *RealmConfig) GetVerificationPolicy() *AuthorizationPolicy
- func (this *RealmConfig) GoString() string
- func (m *RealmConfig) Marshal() (data []byte, err error)
- func (m *RealmConfig) MarshalTo(data []byte) (int, error)
- func (*RealmConfig) ProtoMessage()
- func (m *RealmConfig) Reset()
- func (m *RealmConfig) Size() (n int)
- func (this *RealmConfig) String() string
- func (m *RealmConfig) Unmarshal(data []byte) error
- func (this *RealmConfig) VerboseEqual(that interface{}) error
- type RegistrationPolicy
- func (this *RegistrationPolicy) Equal(that interface{}) bool
- func (m *RegistrationPolicy) GetEmailProofByClientCert() *EmailProofByClientCert
- func (m *RegistrationPolicy) GetEmailProofByDKIM() *EmailProofByDKIM
- func (m *RegistrationPolicy) GetEmailProofByOIDC() *EmailProofByOIDC
- func (m *RegistrationPolicy) GetInsecureSkipEmailProof() bool
- func (m *RegistrationPolicy) GetPolicyType() isRegistrationPolicy_PolicyType
- func (this *RegistrationPolicy) GoString() string
- func (m *RegistrationPolicy) Marshal() (data []byte, err error)
- func (m *RegistrationPolicy) MarshalTo(data []byte) (int, error)
- func (*RegistrationPolicy) ProtoMessage()
- func (m *RegistrationPolicy) Reset()
- func (m *RegistrationPolicy) Size() (n int)
- func (this *RegistrationPolicy) String() string
- func (m *RegistrationPolicy) Unmarshal(data []byte) error
- func (this *RegistrationPolicy) VerboseEqual(that interface{}) error
- func (*RegistrationPolicy) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type RegistrationPolicy_EmailProofByClientCert
- func (this *RegistrationPolicy_EmailProofByClientCert) Equal(that interface{}) bool
- func (this *RegistrationPolicy_EmailProofByClientCert) GoString() string
- func (m *RegistrationPolicy_EmailProofByClientCert) MarshalTo(data []byte) (int, error)
- func (m *RegistrationPolicy_EmailProofByClientCert) Size() (n int)
- func (this *RegistrationPolicy_EmailProofByClientCert) String() string
- func (this *RegistrationPolicy_EmailProofByClientCert) VerboseEqual(that interface{}) error
- type RegistrationPolicy_EmailProofByDKIM
- func (this *RegistrationPolicy_EmailProofByDKIM) Equal(that interface{}) bool
- func (this *RegistrationPolicy_EmailProofByDKIM) GoString() string
- func (m *RegistrationPolicy_EmailProofByDKIM) MarshalTo(data []byte) (int, error)
- func (m *RegistrationPolicy_EmailProofByDKIM) Size() (n int)
- func (this *RegistrationPolicy_EmailProofByDKIM) String() string
- func (this *RegistrationPolicy_EmailProofByDKIM) VerboseEqual(that interface{}) error
- type RegistrationPolicy_EmailProofByOIDC
- func (this *RegistrationPolicy_EmailProofByOIDC) Equal(that interface{}) bool
- func (this *RegistrationPolicy_EmailProofByOIDC) GoString() string
- func (m *RegistrationPolicy_EmailProofByOIDC) MarshalTo(data []byte) (int, error)
- func (m *RegistrationPolicy_EmailProofByOIDC) Size() (n int)
- func (this *RegistrationPolicy_EmailProofByOIDC) String() string
- func (this *RegistrationPolicy_EmailProofByOIDC) VerboseEqual(that interface{}) error
- type RegistrationPolicy_InsecureSkipEmailProof
- func (this *RegistrationPolicy_InsecureSkipEmailProof) Equal(that interface{}) bool
- func (this *RegistrationPolicy_InsecureSkipEmailProof) GoString() string
- func (m *RegistrationPolicy_InsecureSkipEmailProof) MarshalTo(data []byte) (int, error)
- func (m *RegistrationPolicy_InsecureSkipEmailProof) Size() (n int)
- func (this *RegistrationPolicy_InsecureSkipEmailProof) String() string
- func (this *RegistrationPolicy_InsecureSkipEmailProof) VerboseEqual(that interface{}) error
- type Replica
- func (this *Replica) Equal(that interface{}) bool
- func (m *Replica) GetPublicKeys() []*PublicKey
- func (this *Replica) GoString() string
- func (m *Replica) Marshal() (data []byte, err error)
- func (m *Replica) MarshalTo(data []byte) (int, error)
- func (*Replica) ProtoMessage()
- func (m *Replica) Reset()
- func (m *Replica) Size() (n int)
- func (this *Replica) String() string
- func (m *Replica) Unmarshal(data []byte) error
- func (this *Replica) VerboseEqual(that interface{}) error
- type ReplicaConfig
- func (this *ReplicaConfig) Equal(that interface{}) bool
- func (m *ReplicaConfig) GetClientTimeout() Duration
- func (m *ReplicaConfig) GetHKPTLS() TLSConfig
- func (m *ReplicaConfig) GetHTTPFrontTLS() TLSConfig
- func (m *ReplicaConfig) GetPublicTLS() TLSConfig
- func (m *ReplicaConfig) GetRaftHeartbeat() Duration
- func (m *ReplicaConfig) GetRaftTLS() TLSConfig
- func (m *ReplicaConfig) GetVerifierTLS() TLSConfig
- func (this *ReplicaConfig) GoString() string
- func (m *ReplicaConfig) Marshal() (data []byte, err error)
- func (m *ReplicaConfig) MarshalTo(data []byte) (int, error)
- func (*ReplicaConfig) ProtoMessage()
- func (m *ReplicaConfig) Reset()
- func (m *ReplicaConfig) Size() (n int)
- func (this *ReplicaConfig) String() string
- func (m *ReplicaConfig) Unmarshal(data []byte) error
- func (this *ReplicaConfig) VerboseEqual(that interface{}) error
- type ReplicaState
- func (this *ReplicaState) Equal(that interface{}) bool
- func (m *ReplicaState) GetLastEpochDelimiter() EpochDelimiter
- func (this *ReplicaState) GoString() string
- func (m *ReplicaState) Marshal() (data []byte, err error)
- func (m *ReplicaState) MarshalTo(data []byte) (int, error)
- func (*ReplicaState) ProtoMessage()
- func (m *ReplicaState) Reset()
- func (m *ReplicaState) Size() (n int)
- func (this *ReplicaState) String() string
- func (m *ReplicaState) Unmarshal(data []byte) error
- func (this *ReplicaState) VerboseEqual(that interface{}) error
- type SignedEntryUpdate
- func (this *SignedEntryUpdate) Equal(that interface{}) bool
- func (m *SignedEntryUpdate) GetSignatures() map[uint64][]byte
- func (this *SignedEntryUpdate) GoString() string
- func (m *SignedEntryUpdate) Marshal() (data []byte, err error)
- func (m *SignedEntryUpdate) MarshalTo(data []byte) (int, error)
- func (*SignedEntryUpdate) ProtoMessage()
- func (m *SignedEntryUpdate) Reset()
- func (m *SignedEntryUpdate) Size() (n int)
- func (this *SignedEntryUpdate) String() string
- func (m *SignedEntryUpdate) Unmarshal(data []byte) error
- func (this *SignedEntryUpdate) VerboseEqual(that interface{}) error
- type SignedEpochHead
- func (this *SignedEpochHead) Equal(that interface{}) bool
- func (m *SignedEpochHead) GetSignatures() map[uint64][]byte
- func (this *SignedEpochHead) GoString() string
- func (m *SignedEpochHead) Marshal() (data []byte, err error)
- func (m *SignedEpochHead) MarshalTo(data []byte) (int, error)
- func (*SignedEpochHead) ProtoMessage()
- func (m *SignedEpochHead) Reset()
- func (m *SignedEpochHead) Size() (n int)
- func (this *SignedEpochHead) String() string
- func (m *SignedEpochHead) Unmarshal(data []byte) error
- func (this *SignedEpochHead) VerboseEqual(that interface{}) error
- type TLSConfig
- func (m *TLSConfig) Config(getKey func(string) (crypto.PrivateKey, error)) (cfg *tls.Config, err error)
- func (this *TLSConfig) Equal(that interface{}) bool
- func (m *TLSConfig) GetCertificates() []*CertificateAndKeyID
- func (this *TLSConfig) GoString() string
- func (m *TLSConfig) Marshal() (data []byte, err error)
- func (m *TLSConfig) MarshalTo(data []byte) (int, error)
- func (*TLSConfig) ProtoMessage()
- func (m *TLSConfig) Reset()
- func (m *TLSConfig) Size() (n int)
- func (this *TLSConfig) String() string
- func (m *TLSConfig) Unmarshal(data []byte) error
- func (this *TLSConfig) VerboseEqual(that interface{}) error
- type TLSVersion
- type Timestamp
- func (this *Timestamp) Equal(that interface{}) bool
- func (this *Timestamp) GoString() string
- func (m *Timestamp) Marshal() (data []byte, err error)
- func (m *Timestamp) MarshalTo(data []byte) (int, error)
- func (*Timestamp) ProtoMessage()
- func (m *Timestamp) Reset()
- func (m *Timestamp) Size() (n int)
- func (this *Timestamp) String() string
- func (tst *Timestamp) Time() time.Time
- func (m *Timestamp) Unmarshal(data []byte) error
- func (this *Timestamp) VerboseEqual(that interface{}) error
- type TimestampedEpochHead
- func (this *TimestampedEpochHead) Equal(that interface{}) bool
- func (m *TimestampedEpochHead) GetTimestamp() Timestamp
- func (this *TimestampedEpochHead) GoString() string
- func (m *TimestampedEpochHead) Marshal() (data []byte, err error)
- func (m *TimestampedEpochHead) MarshalTo(data []byte) (int, error)
- func (*TimestampedEpochHead) ProtoMessage()
- func (m *TimestampedEpochHead) Reset()
- func (m *TimestampedEpochHead) Size() (n int)
- func (this *TimestampedEpochHead) String() string
- func (m *TimestampedEpochHead) Unmarshal(data []byte) error
- func (this *TimestampedEpochHead) VerboseEqual(that interface{}) error
- type TreeProof
- func (this *TreeProof) Equal(that interface{}) bool
- func (this *TreeProof) GoString() string
- func (m *TreeProof) Marshal() (data []byte, err error)
- func (m *TreeProof) MarshalTo(data []byte) (int, error)
- func (*TreeProof) ProtoMessage()
- func (m *TreeProof) Reset()
- func (m *TreeProof) Size() (n int)
- func (this *TreeProof) String() string
- func (m *TreeProof) Unmarshal(data []byte) error
- func (this *TreeProof) VerboseEqual(that interface{}) error
- type UpdateRequest
- func (this *UpdateRequest) Equal(that interface{}) bool
- func (m *UpdateRequest) GetEmailProof() *EmailProof
- func (m *UpdateRequest) GetLookupParameters() *LookupRequest
- func (m *UpdateRequest) GetUpdate() *SignedEntryUpdate
- func (this *UpdateRequest) GoString() string
- func (m *UpdateRequest) Marshal() (data []byte, err error)
- func (m *UpdateRequest) MarshalTo(data []byte) (int, error)
- func (*UpdateRequest) ProtoMessage()
- func (m *UpdateRequest) Reset()
- func (m *UpdateRequest) Size() (n int)
- func (this *UpdateRequest) String() string
- func (m *UpdateRequest) Unmarshal(data []byte) error
- func (this *UpdateRequest) VerboseEqual(that interface{}) error
- type VerifierConfig
- func (this *VerifierConfig) Equal(that interface{}) bool
- func (m *VerifierConfig) GetInitialKeyserverAuth() AuthorizationPolicy
- func (m *VerifierConfig) GetTLS() *TLSConfig
- func (this *VerifierConfig) GoString() string
- func (m *VerifierConfig) Marshal() (data []byte, err error)
- func (m *VerifierConfig) MarshalTo(data []byte) (int, error)
- func (*VerifierConfig) ProtoMessage()
- func (m *VerifierConfig) Reset()
- func (m *VerifierConfig) Size() (n int)
- func (this *VerifierConfig) String() string
- func (m *VerifierConfig) Unmarshal(data []byte) error
- func (this *VerifierConfig) VerboseEqual(that interface{}) error
- type VerifierState
- func (this *VerifierState) Equal(that interface{}) bool
- func (m *VerifierState) GetKeyserverAuth() *AuthorizationPolicy
- func (this *VerifierState) GoString() string
- func (m *VerifierState) Marshal() (data []byte, err error)
- func (m *VerifierState) MarshalTo(data []byte) (int, error)
- func (*VerifierState) ProtoMessage()
- func (m *VerifierState) Reset()
- func (m *VerifierState) Size() (n int)
- func (this *VerifierState) String() string
- func (m *VerifierState) Unmarshal(data []byte) error
- func (this *VerifierState) VerboseEqual(that interface{}) error
- type VerifierStep
- func (this *VerifierStep) Equal(that interface{}) bool
- func (m *VerifierStep) GetEpoch() *SignedEpochHead
- func (m *VerifierStep) GetType() isVerifierStep_Type
- func (m *VerifierStep) GetUpdate() *SignedEntryUpdate
- func (this *VerifierStep) GoString() string
- func (m *VerifierStep) Marshal() (data []byte, err error)
- func (m *VerifierStep) MarshalTo(data []byte) (int, error)
- func (*VerifierStep) ProtoMessage()
- func (m *VerifierStep) Reset()
- func (m *VerifierStep) Size() (n int)
- func (this *VerifierStep) String() string
- func (m *VerifierStep) Unmarshal(data []byte) error
- func (this *VerifierStep) VerboseEqual(that interface{}) error
- func (*VerifierStep) XXX_OneofFuncs() (func(msg proto1.Message, b *proto1.Buffer) error, ...)
- type VerifierStep_Epoch
- func (this *VerifierStep_Epoch) Equal(that interface{}) bool
- func (this *VerifierStep_Epoch) GoString() string
- func (m *VerifierStep_Epoch) MarshalTo(data []byte) (int, error)
- func (m *VerifierStep_Epoch) Size() (n int)
- func (this *VerifierStep_Epoch) String() string
- func (this *VerifierStep_Epoch) VerboseEqual(that interface{}) error
- type VerifierStep_Update
- func (this *VerifierStep_Update) Equal(that interface{}) bool
- func (this *VerifierStep_Update) GoString() string
- func (m *VerifierStep_Update) MarshalTo(data []byte) (int, error)
- func (m *VerifierStep_Update) Size() (n int)
- func (this *VerifierStep_Update) String() string
- func (this *VerifierStep_Update) VerboseEqual(that interface{}) error
- type VerifierStreamRequest
- func (this *VerifierStreamRequest) Equal(that interface{}) bool
- func (this *VerifierStreamRequest) GoString() string
- func (m *VerifierStreamRequest) Marshal() (data []byte, err error)
- func (m *VerifierStreamRequest) MarshalTo(data []byte) (int, error)
- func (*VerifierStreamRequest) ProtoMessage()
- func (m *VerifierStreamRequest) Reset()
- func (m *VerifierStreamRequest) Size() (n int)
- func (this *VerifierStreamRequest) String() string
- func (m *VerifierStreamRequest) Unmarshal(data []byte) error
- func (this *VerifierStreamRequest) VerboseEqual(that interface{}) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthClient = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowClient = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthDuration = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDuration = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthKeyserverconfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowKeyserverconfig = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthKeyserverlocal = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowKeyserverlocal = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthReplication = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowReplication = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthTimestamp = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTimestamp = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthTlsconfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTlsconfig = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthVerifier = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVerifier = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthVerifierconfig = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVerifierconfig = fmt.Errorf("proto: integer overflow") )
var ( ErrInvalidLengthVerifierlocal = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVerifierlocal = fmt.Errorf("proto: integer overflow") )
var CipherSuite_name = map[int32]string{
0: "CipherSuite_UNSPECIFIED",
5: "TLS_RSA_WITH_RC4_128_SHA",
10: "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
47: "TLS_RSA_WITH_AES_128_CBC_SHA",
53: "TLS_RSA_WITH_AES_256_CBC_SHA",
49159: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
49161: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
49162: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
49169: "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
49170: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
49171: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
49172: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
49199: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
49195: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
22016: "TLS_FALLBACK_SCSV",
}
var CipherSuite_value = map[string]int32{
"CipherSuite_UNSPECIFIED": 0,
"TLS_RSA_WITH_RC4_128_SHA": 5,
"TLS_RSA_WITH_3DES_EDE_CBC_SHA": 10,
"TLS_RSA_WITH_AES_128_CBC_SHA": 47,
"TLS_RSA_WITH_AES_256_CBC_SHA": 53,
"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": 49159,
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": 49161,
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": 49162,
"TLS_ECDHE_RSA_WITH_RC4_128_SHA": 49169,
"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": 49170,
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": 49171,
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": 49172,
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": 49199,
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": 49195,
"TLS_FALLBACK_SCSV": 22016,
}
var ClientAuthType_name = map[int32]string{
0: "NO_CLIENT_CERT",
1: "REQUEST_CLIENT_CERT",
2: "REQUIRE_ANY_CLIENT_CERT",
3: "VERIFY_CLIENT_CERT_IF_GIVEN",
4: "REQUIRE_AND_VERIFY_CLIENT_CERT",
}
var ClientAuthType_value = map[string]int32{
"NO_CLIENT_CERT": 0,
"REQUEST_CLIENT_CERT": 1,
"REQUIRE_ANY_CLIENT_CERT": 2,
"VERIFY_CLIENT_CERT_IF_GIVEN": 3,
"REQUIRE_AND_VERIFY_CLIENT_CERT": 4,
}
var CurveID_name = map[int32]string{
0: "CurveID_UNSPECIFIED",
23: "P256",
24: "P384",
25: "P521",
}
var CurveID_value = map[string]int32{
"CurveID_UNSPECIFIED": 0,
"P256": 23,
"P384": 24,
"P521": 25,
}
var TLSVersion_name = map[int32]string{
0: "TLSVersion_UNSPECIFIED",
768: "VERSION_SSL30",
769: "VERSION_TLS10",
770: "VERSION_TLS11",
771: "VERSION_TLS12",
}
var TLSVersion_value = map[string]int32{
"TLSVersion_UNSPECIFIED": 0,
"VERSION_SSL30": 768,
"VERSION_TLS10": 769,
"VERSION_TLS11": 770,
"VERSION_TLS12": 771,
}
Functions ¶
func MustMarshal ¶
MustMarshal takes a marshalable and returns the []byte representation. This function must be used exclusively when a marshaling error is fatal AND indicative of a programming bug.
func RegisterE2EKSPublicServer ¶
func RegisterE2EKSPublicServer(s *grpc.Server, srv E2EKSPublicServer)
func RegisterE2EKSVerificationServer ¶
func RegisterE2EKSVerificationServer(s *grpc.Server, srv E2EKSVerificationServer)
Types ¶
type AuthorizationPolicy ¶
type AuthorizationPolicy struct { PublicKeys map[uint64]*PublicKey `` /* 151-byte string literal not displayed */ // Types that are valid to be assigned to PolicyType: // *AuthorizationPolicy_Quorum PolicyType isAuthorizationPolicy_PolicyType `protobuf_oneof:"policy_type"` }
AuthorizationPolicy is used to check whether some signatures make up sufficient authorization to back an action. This is used to implement the following: 1. Account Recovery through service provider: if an user's entry has the update key set to threshold(1,user,serviceprovider), the service provider can perform account recovery. Note that a third party will not necessarily know who the subkeys are held by. Thus, the client implementation MUST require a signed certificate confirming possession of the secret key and promising to do no evil from every trustee whose key is used for recovery in this manner. 2. Service providers with servers in geographically diverse locations can use a threshold to limit the damage the compromise or loss of one replica can do. Example threshold(2,freedonia,gilead,mordor). 3. Adaptive key rollover during cryptocalypse.
func NewPopulatedAuthorizationPolicy ¶
func NewPopulatedAuthorizationPolicy(r randyClient, easy bool) *AuthorizationPolicy
func (*AuthorizationPolicy) Equal ¶
func (this *AuthorizationPolicy) Equal(that interface{}) bool
func (*AuthorizationPolicy) GetPolicyType ¶
func (m *AuthorizationPolicy) GetPolicyType() isAuthorizationPolicy_PolicyType
func (*AuthorizationPolicy) GetPublicKeys ¶
func (m *AuthorizationPolicy) GetPublicKeys() map[uint64]*PublicKey
func (*AuthorizationPolicy) GetQuorum ¶
func (m *AuthorizationPolicy) GetQuorum() *QuorumExpr
func (*AuthorizationPolicy) GoString ¶
func (this *AuthorizationPolicy) GoString() string
func (*AuthorizationPolicy) Marshal ¶
func (m *AuthorizationPolicy) Marshal() (data []byte, err error)
func (*AuthorizationPolicy) MarshalTo ¶
func (m *AuthorizationPolicy) MarshalTo(data []byte) (int, error)
func (*AuthorizationPolicy) ProtoMessage ¶
func (*AuthorizationPolicy) ProtoMessage()
func (*AuthorizationPolicy) Reset ¶
func (m *AuthorizationPolicy) Reset()
func (*AuthorizationPolicy) Size ¶
func (m *AuthorizationPolicy) Size() (n int)
func (*AuthorizationPolicy) String ¶
func (this *AuthorizationPolicy) String() string
func (*AuthorizationPolicy) Unmarshal ¶
func (m *AuthorizationPolicy) Unmarshal(data []byte) error
func (*AuthorizationPolicy) VerboseEqual ¶
func (this *AuthorizationPolicy) VerboseEqual(that interface{}) error
type AuthorizationPolicy_Quorum ¶
type AuthorizationPolicy_Quorum struct {
Quorum *QuorumExpr `protobuf:"bytes,2,opt,name=quorum,oneof"`
}
func NewPopulatedAuthorizationPolicy_Quorum ¶
func NewPopulatedAuthorizationPolicy_Quorum(r randyClient, easy bool) *AuthorizationPolicy_Quorum
func (*AuthorizationPolicy_Quorum) Equal ¶
func (this *AuthorizationPolicy_Quorum) Equal(that interface{}) bool
func (*AuthorizationPolicy_Quorum) GoString ¶
func (this *AuthorizationPolicy_Quorum) GoString() string
func (*AuthorizationPolicy_Quorum) MarshalTo ¶
func (m *AuthorizationPolicy_Quorum) MarshalTo(data []byte) (int, error)
func (*AuthorizationPolicy_Quorum) Size ¶
func (m *AuthorizationPolicy_Quorum) Size() (n int)
func (*AuthorizationPolicy_Quorum) String ¶
func (this *AuthorizationPolicy_Quorum) String() string
func (*AuthorizationPolicy_Quorum) VerboseEqual ¶
func (this *AuthorizationPolicy_Quorum) VerboseEqual(that interface{}) error
type CertificateAndKeyID ¶
type CertificateAndKeyID struct { // Certificate contains the public certificates in DER format, leaf first. Certificate [][]byte `protobuf:"bytes,1,rep,name=certificate" json:"certificate,omitempty"` KeyID string `protobuf:"bytes,2,opt,name=key_id,proto3" json:"key_id,omitempty"` OCSPStaple []byte `protobuf:"bytes,3,opt,name=OCSP_staple,proto3" json:"OCSP_staple,omitempty"` }
func NewPopulatedCertificateAndKeyID ¶
func NewPopulatedCertificateAndKeyID(r randyTlsconfig, easy bool) *CertificateAndKeyID
func (*CertificateAndKeyID) Equal ¶
func (this *CertificateAndKeyID) Equal(that interface{}) bool
func (*CertificateAndKeyID) GoString ¶
func (this *CertificateAndKeyID) GoString() string
func (*CertificateAndKeyID) Marshal ¶
func (m *CertificateAndKeyID) Marshal() (data []byte, err error)
func (*CertificateAndKeyID) MarshalTo ¶
func (m *CertificateAndKeyID) MarshalTo(data []byte) (int, error)
func (*CertificateAndKeyID) ProtoMessage ¶
func (*CertificateAndKeyID) ProtoMessage()
func (*CertificateAndKeyID) Reset ¶
func (m *CertificateAndKeyID) Reset()
func (*CertificateAndKeyID) Size ¶
func (m *CertificateAndKeyID) Size() (n int)
func (*CertificateAndKeyID) String ¶
func (this *CertificateAndKeyID) String() string
func (*CertificateAndKeyID) Unmarshal ¶
func (m *CertificateAndKeyID) Unmarshal(data []byte) error
func (*CertificateAndKeyID) VerboseEqual ¶
func (this *CertificateAndKeyID) VerboseEqual(that interface{}) error
type CipherSuite ¶
type CipherSuite int32
const ( CipherSuite_UNSPECIFIED CipherSuite = 0 TLS_RSA_WITH_RC4_128_SHA CipherSuite = 5 TLS_RSA_WITH_3DES_EDE_CBC_SHA CipherSuite = 10 TLS_RSA_WITH_AES_128_CBC_SHA CipherSuite = 47 TLS_RSA_WITH_AES_256_CBC_SHA CipherSuite = 53 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA CipherSuite = 49159 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA CipherSuite = 49161 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA CipherSuite = 49162 TLS_ECDHE_RSA_WITH_RC4_128_SHA CipherSuite = 49169 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA CipherSuite = 49170 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA CipherSuite = 49171 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA CipherSuite = 49172 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 CipherSuite = 49199 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 CipherSuite = 49195 TLS_FALLBACK_SCSV CipherSuite = 22016 )
func (CipherSuite) String ¶
func (x CipherSuite) String() string
type ClientAuthType ¶
type ClientAuthType int32
const ( NO_CLIENT_CERT ClientAuthType = 0 REQUEST_CLIENT_CERT ClientAuthType = 1 REQUIRE_ANY_CLIENT_CERT ClientAuthType = 2 VERIFY_CLIENT_CERT_IF_GIVEN ClientAuthType = 3 REQUIRE_AND_VERIFY_CLIENT_CERT ClientAuthType = 4 )
func (ClientAuthType) String ¶
func (x ClientAuthType) String() string
type Config ¶
type Config struct {
Realms []*RealmConfig `protobuf:"bytes,1,rep,name=realms" json:"realms,omitempty"`
}
func NewPopulatedConfig ¶
func (*Config) GetRealms ¶
func (m *Config) GetRealms() []*RealmConfig
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) VerboseEqual ¶
type Duration ¶
type Duration struct { // Signed seconds of the span of time. Must be from -315,576,000,000 // to +315,576,000,000 inclusive. Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` // Signed fractions of a second at nanosecond resolution of the span // of time. Durations less than one second are represented with a 0 // `seconds` field and a positive or negative `nanos` field. For durations // of one second or more, a non-zero value for the `nanos` field must be // of the same sign as the `seconds` field. Must be from -999,999,999 // to +999,999,999 inclusive. Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` }
A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.
Example 1: Compute Duration from two Timestamps in pseudo code.
Timestamp start = ...; Timestamp end = ...; Duration duration = ...; duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos; if (duration.seconds < 0 && duration.nanos > 0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
Timestamp start = ...; Duration duration = ...; Timestamp end = ...; end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos; if (end.nanos < 0) { end.seconds -= 1; end.nanos += 1000000000; } else if (end.nanos >= 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
func DurationStamp ¶
func NewPopulatedDuration ¶
func (*Duration) ProtoMessage ¶
func (*Duration) ProtoMessage()
func (*Duration) VerboseEqual ¶
type E2EKSPublicClient ¶
type E2EKSPublicClient interface { Lookup(ctx context.Context, in *LookupRequest, opts ...grpc.CallOption) (*LookupProof, error) Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*LookupProof, error) }
func NewE2EKSPublicClient ¶
func NewE2EKSPublicClient(cc *grpc.ClientConn) E2EKSPublicClient
type E2EKSPublicServer ¶
type E2EKSPublicServer interface { Lookup(context.Context, *LookupRequest) (*LookupProof, error) Update(context.Context, *UpdateRequest) (*LookupProof, error) }
type E2EKSVerificationClient ¶
type E2EKSVerificationClient interface { // VerifierStream accesses the public inputs to a keyserver state machine. // The returned stream is given a limited view of the log which the keyserver // being verified uses to replicate its state internally. However, private // user data, such as usernames and profile details, is not included (the // relevant fields are set to nil). note: the keyserver implementation also // uses the same log to persist verifier ratifications, but as they do not // affect any username:profile mappings, they are excluded as well. VerifierStream(ctx context.Context, in *VerifierStreamRequest, opts ...grpc.CallOption) (E2EKSVerification_VerifierStreamClient, error) // PushRatification is called each time a verifier who has been // successfully replaying the log returned by VerifierStream interprets a // keyserver_ratified step and agrees that the keyserver state summarized // by it is the unique result of applying all the previous update steps. // The SignedRatification will be stored by the server and used to // argue the correctness of future lookups in front of clients. PushRatification(ctx context.Context, in *SignedEpochHead, opts ...grpc.CallOption) (*Nothing, error) }
func NewE2EKSVerificationClient ¶
func NewE2EKSVerificationClient(cc *grpc.ClientConn) E2EKSVerificationClient
type E2EKSVerificationServer ¶
type E2EKSVerificationServer interface { // VerifierStream accesses the public inputs to a keyserver state machine. // The returned stream is given a limited view of the log which the keyserver // being verified uses to replicate its state internally. However, private // user data, such as usernames and profile details, is not included (the // relevant fields are set to nil). note: the keyserver implementation also // uses the same log to persist verifier ratifications, but as they do not // affect any username:profile mappings, they are excluded as well. VerifierStream(*VerifierStreamRequest, E2EKSVerification_VerifierStreamServer) error // PushRatification is called each time a verifier who has been // successfully replaying the log returned by VerifierStream interprets a // keyserver_ratified step and agrees that the keyserver state summarized // by it is the unique result of applying all the previous update steps. // The SignedRatification will be stored by the server and used to // argue the correctness of future lookups in front of clients. PushRatification(context.Context, *SignedEpochHead) (*Nothing, error) }
type E2EKSVerification_VerifierStreamClient ¶
type E2EKSVerification_VerifierStreamClient interface { Recv() (*VerifierStep, error) grpc.ClientStream }
type E2EKSVerification_VerifierStreamServer ¶
type E2EKSVerification_VerifierStreamServer interface { Send(*VerifierStep) error grpc.ServerStream }
type EmailProof ¶
type EmailProof struct { // Types that are valid to be assigned to ProofType: // *EmailProof_DKIMProof // *EmailProof_OIDCToken ProofType isEmailProof_ProofType `protobuf_oneof:"proof_type"` }
EmailProof provides a proof of ownership of the email address
func NewPopulatedEmailProof ¶
func NewPopulatedEmailProof(r randyClient, easy bool) *EmailProof
func (*EmailProof) Equal ¶
func (this *EmailProof) Equal(that interface{}) bool
func (*EmailProof) GetDKIMProof ¶
func (m *EmailProof) GetDKIMProof() []byte
func (*EmailProof) GetOIDCToken ¶
func (m *EmailProof) GetOIDCToken() string
func (*EmailProof) GetProofType ¶
func (m *EmailProof) GetProofType() isEmailProof_ProofType
func (*EmailProof) GoString ¶
func (this *EmailProof) GoString() string
func (*EmailProof) Marshal ¶
func (m *EmailProof) Marshal() (data []byte, err error)
func (*EmailProof) ProtoMessage ¶
func (*EmailProof) ProtoMessage()
func (*EmailProof) Reset ¶
func (m *EmailProof) Reset()
func (*EmailProof) Size ¶
func (m *EmailProof) Size() (n int)
func (*EmailProof) String ¶
func (this *EmailProof) String() string
func (*EmailProof) Unmarshal ¶
func (m *EmailProof) Unmarshal(data []byte) error
func (*EmailProof) VerboseEqual ¶
func (this *EmailProof) VerboseEqual(that interface{}) error
type EmailProofByClientCert ¶
type EmailProofByClientCert struct { // AllowedDomains specifies the domains for which this keyserver accepts // email address registrations by this policy. AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains" json:"allowed_domains,omitempty"` // CaCert contains the trusted certificate authority certificate in DER format. CaCert []byte `protobuf:"bytes,2,opt,name=ca_cert,proto3" json:"ca_cert,omitempty"` }
EmailProofByClientCert accepts a certificate signed by an authority trusted with handling registration as sufficient confirmation of ownership of an email address. The emailAddress value in the certificate's DistinguishedName field is allowed to be registered by the holder of the key specified in the certificate.
func NewPopulatedEmailProofByClientCert ¶
func NewPopulatedEmailProofByClientCert(r randyKeyserverconfig, easy bool) *EmailProofByClientCert
func (*EmailProofByClientCert) Equal ¶
func (this *EmailProofByClientCert) Equal(that interface{}) bool
func (*EmailProofByClientCert) GoString ¶
func (this *EmailProofByClientCert) GoString() string
func (*EmailProofByClientCert) Marshal ¶
func (m *EmailProofByClientCert) Marshal() (data []byte, err error)
func (*EmailProofByClientCert) MarshalTo ¶
func (m *EmailProofByClientCert) MarshalTo(data []byte) (int, error)
func (*EmailProofByClientCert) ProtoMessage ¶
func (*EmailProofByClientCert) ProtoMessage()
func (*EmailProofByClientCert) Reset ¶
func (m *EmailProofByClientCert) Reset()
func (*EmailProofByClientCert) Size ¶
func (m *EmailProofByClientCert) Size() (n int)
func (*EmailProofByClientCert) String ¶
func (this *EmailProofByClientCert) String() string
func (*EmailProofByClientCert) Unmarshal ¶
func (m *EmailProofByClientCert) Unmarshal(data []byte) error
func (*EmailProofByClientCert) VerboseEqual ¶
func (this *EmailProofByClientCert) VerboseEqual(that interface{}) error
type EmailProofByDKIM ¶
type EmailProofByDKIM struct { // AllowedDomains specifies the domains for which this keyserver accepts // email address registrations. AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains" json:"allowed_domains,omitempty"` // ToAddr specifies the additional allowed to address in email proofs. By // default, only proofs sent to the user being registered all accepted. // This option can be used to allow proofs emailed directly to the // keyserver to be accepted (but the keyserver does NOT implement a SMTP // interface right now). ToAddr string `protobuf:"bytes,2,opt,name=to_addr,proto3" json:"to_addr,omitempty"` // SubjectPrefix is used for DKIM-based email address registration. The // proof challenge is sent in the subject line, with an optional string // preceding it. For example, if EmailProofSubjectPrefix = "account // verification: ", then the proof email needs to have a subject line // "account verification: abcd" for verify challenge abcd. SubjectPrefix string `protobuf:"bytes,3,opt,name=subject_prefix,proto3" json:"subject_prefix,omitempty"` }
func NewPopulatedEmailProofByDKIM ¶
func NewPopulatedEmailProofByDKIM(r randyKeyserverconfig, easy bool) *EmailProofByDKIM
func (*EmailProofByDKIM) Equal ¶
func (this *EmailProofByDKIM) Equal(that interface{}) bool
func (*EmailProofByDKIM) GoString ¶
func (this *EmailProofByDKIM) GoString() string
func (*EmailProofByDKIM) Marshal ¶
func (m *EmailProofByDKIM) Marshal() (data []byte, err error)
func (*EmailProofByDKIM) ProtoMessage ¶
func (*EmailProofByDKIM) ProtoMessage()
func (*EmailProofByDKIM) Reset ¶
func (m *EmailProofByDKIM) Reset()
func (*EmailProofByDKIM) Size ¶
func (m *EmailProofByDKIM) Size() (n int)
func (*EmailProofByDKIM) String ¶
func (this *EmailProofByDKIM) String() string
func (*EmailProofByDKIM) Unmarshal ¶
func (m *EmailProofByDKIM) Unmarshal(data []byte) error
func (*EmailProofByDKIM) VerboseEqual ¶
func (this *EmailProofByDKIM) VerboseEqual(that interface{}) error
type EmailProofByOIDC ¶
type EmailProofByOIDC struct {
OIDCConfig []*OIDCConfig `protobuf:"bytes,1,rep,name=oidc_config" json:"oidc_config,omitempty"`
}
EmailProofByOIDC accepts an ID token fetched from an OpenID Connect provider and validates it as specified in the configuration. The token must have a valid signature, not expired, signed by the expected provider and must contain the expected Client ID
func NewPopulatedEmailProofByOIDC ¶
func NewPopulatedEmailProofByOIDC(r randyKeyserverconfig, easy bool) *EmailProofByOIDC
func (*EmailProofByOIDC) Equal ¶
func (this *EmailProofByOIDC) Equal(that interface{}) bool
func (*EmailProofByOIDC) GetOIDCConfig ¶
func (m *EmailProofByOIDC) GetOIDCConfig() []*OIDCConfig
func (*EmailProofByOIDC) GoString ¶
func (this *EmailProofByOIDC) GoString() string
func (*EmailProofByOIDC) Marshal ¶
func (m *EmailProofByOIDC) Marshal() (data []byte, err error)
func (*EmailProofByOIDC) ProtoMessage ¶
func (*EmailProofByOIDC) ProtoMessage()
func (*EmailProofByOIDC) Reset ¶
func (m *EmailProofByOIDC) Reset()
func (*EmailProofByOIDC) Size ¶
func (m *EmailProofByOIDC) Size() (n int)
func (*EmailProofByOIDC) String ¶
func (this *EmailProofByOIDC) String() string
func (*EmailProofByOIDC) Unmarshal ¶
func (m *EmailProofByOIDC) Unmarshal(data []byte) error
func (*EmailProofByOIDC) VerboseEqual ¶
func (this *EmailProofByOIDC) VerboseEqual(that interface{}) error
type EmailProof_DKIMProof ¶
type EmailProof_DKIMProof struct {
DKIMProof []byte `protobuf:"bytes,1,opt,name=dkim_proof,proto3,oneof"`
}
func NewPopulatedEmailProof_DKIMProof ¶
func NewPopulatedEmailProof_DKIMProof(r randyClient, easy bool) *EmailProof_DKIMProof
func (*EmailProof_DKIMProof) Equal ¶
func (this *EmailProof_DKIMProof) Equal(that interface{}) bool
func (*EmailProof_DKIMProof) GoString ¶
func (this *EmailProof_DKIMProof) GoString() string
func (*EmailProof_DKIMProof) MarshalTo ¶
func (m *EmailProof_DKIMProof) MarshalTo(data []byte) (int, error)
func (*EmailProof_DKIMProof) Size ¶
func (m *EmailProof_DKIMProof) Size() (n int)
func (*EmailProof_DKIMProof) String ¶
func (this *EmailProof_DKIMProof) String() string
func (*EmailProof_DKIMProof) VerboseEqual ¶
func (this *EmailProof_DKIMProof) VerboseEqual(that interface{}) error
type EmailProof_OIDCToken ¶
type EmailProof_OIDCToken struct {
OIDCToken string `protobuf:"bytes,2,opt,name=oidc_token,proto3,oneof"`
}
func NewPopulatedEmailProof_OIDCToken ¶
func NewPopulatedEmailProof_OIDCToken(r randyClient, easy bool) *EmailProof_OIDCToken
func (*EmailProof_OIDCToken) Equal ¶
func (this *EmailProof_OIDCToken) Equal(that interface{}) bool
func (*EmailProof_OIDCToken) GoString ¶
func (this *EmailProof_OIDCToken) GoString() string
func (*EmailProof_OIDCToken) MarshalTo ¶
func (m *EmailProof_OIDCToken) MarshalTo(data []byte) (int, error)
func (*EmailProof_OIDCToken) Size ¶
func (m *EmailProof_OIDCToken) Size() (n int)
func (*EmailProof_OIDCToken) String ¶
func (this *EmailProof_OIDCToken) String() string
func (*EmailProof_OIDCToken) VerboseEqual ¶
func (this *EmailProof_OIDCToken) VerboseEqual(that interface{}) error
type EncodedAuthorizationPolicy ¶
type EncodedAuthorizationPolicy struct { AuthorizationPolicy Encoding []byte }
func NewPopulatedEncodedAuthorizationPolicy ¶
func NewPopulatedEncodedAuthorizationPolicy(r randyClient, easy bool) *EncodedAuthorizationPolicy
func (*EncodedAuthorizationPolicy) Equal ¶
func (this *EncodedAuthorizationPolicy) Equal(that interface{}) bool
func (*EncodedAuthorizationPolicy) GoString ¶
func (this *EncodedAuthorizationPolicy) GoString() string
func (*EncodedAuthorizationPolicy) Marshal ¶
func (m *EncodedAuthorizationPolicy) Marshal() ([]byte, error)
func (*EncodedAuthorizationPolicy) MarshalJSON ¶
func (m *EncodedAuthorizationPolicy) MarshalJSON() ([]byte, error)
func (*EncodedAuthorizationPolicy) MarshalTo ¶
func (m *EncodedAuthorizationPolicy) MarshalTo(data []byte) (int, error)
func (*EncodedAuthorizationPolicy) Reset ¶
func (m *EncodedAuthorizationPolicy) Reset()
func (*EncodedAuthorizationPolicy) Size ¶
func (m *EncodedAuthorizationPolicy) Size() int
func (*EncodedAuthorizationPolicy) String ¶
func (this *EncodedAuthorizationPolicy) String() string
func (*EncodedAuthorizationPolicy) Unmarshal ¶
func (m *EncodedAuthorizationPolicy) Unmarshal(data []byte) error
func (*EncodedAuthorizationPolicy) UnmarshalJSON ¶
func (m *EncodedAuthorizationPolicy) UnmarshalJSON(s []byte) error
func (*EncodedAuthorizationPolicy) UpdateEncoding ¶
func (m *EncodedAuthorizationPolicy) UpdateEncoding()
func (*EncodedAuthorizationPolicy) VerboseEqual ¶
func (this *EncodedAuthorizationPolicy) VerboseEqual(that interface{}) error
type EncodedEntry ¶
func NewPopulatedEncodedEntry ¶
func NewPopulatedEncodedEntry(r randyClient, easy bool) *EncodedEntry
func (*EncodedEntry) Equal ¶
func (this *EncodedEntry) Equal(that interface{}) bool
func (*EncodedEntry) GoString ¶
func (this *EncodedEntry) GoString() string
func (*EncodedEntry) Marshal ¶
func (m *EncodedEntry) Marshal() ([]byte, error)
func (*EncodedEntry) MarshalJSON ¶
func (m *EncodedEntry) MarshalJSON() ([]byte, error)
func (*EncodedEntry) Reset ¶
func (m *EncodedEntry) Reset()
func (*EncodedEntry) Size ¶
func (m *EncodedEntry) Size() int
func (*EncodedEntry) String ¶
func (this *EncodedEntry) String() string
func (*EncodedEntry) Unmarshal ¶
func (m *EncodedEntry) Unmarshal(data []byte) error
func (*EncodedEntry) UnmarshalJSON ¶
func (m *EncodedEntry) UnmarshalJSON(s []byte) error
func (*EncodedEntry) UpdateEncoding ¶
func (m *EncodedEntry) UpdateEncoding()
func (*EncodedEntry) VerboseEqual ¶
func (this *EncodedEntry) VerboseEqual(that interface{}) error
type EncodedEpochHead ¶
func NewPopulatedEncodedEpochHead ¶
func NewPopulatedEncodedEpochHead(r randyClient, easy bool) *EncodedEpochHead
func (*EncodedEpochHead) Equal ¶
func (this *EncodedEpochHead) Equal(that interface{}) bool
func (*EncodedEpochHead) GoString ¶
func (this *EncodedEpochHead) GoString() string
func (*EncodedEpochHead) Marshal ¶
func (m *EncodedEpochHead) Marshal() ([]byte, error)
func (*EncodedEpochHead) MarshalJSON ¶
func (m *EncodedEpochHead) MarshalJSON() ([]byte, error)
func (*EncodedEpochHead) Reset ¶
func (m *EncodedEpochHead) Reset()
func (*EncodedEpochHead) Size ¶
func (m *EncodedEpochHead) Size() int
func (*EncodedEpochHead) String ¶
func (this *EncodedEpochHead) String() string
func (*EncodedEpochHead) Unmarshal ¶
func (m *EncodedEpochHead) Unmarshal(data []byte) error
func (*EncodedEpochHead) UnmarshalJSON ¶
func (m *EncodedEpochHead) UnmarshalJSON(s []byte) error
func (*EncodedEpochHead) UpdateEncoding ¶
func (m *EncodedEpochHead) UpdateEncoding()
func (*EncodedEpochHead) VerboseEqual ¶
func (this *EncodedEpochHead) VerboseEqual(that interface{}) error
type EncodedProfile ¶
func NewPopulatedEncodedProfile ¶
func NewPopulatedEncodedProfile(r randyClient, easy bool) *EncodedProfile
func (*EncodedProfile) Equal ¶
func (this *EncodedProfile) Equal(that interface{}) bool
func (*EncodedProfile) GoString ¶
func (this *EncodedProfile) GoString() string
func (*EncodedProfile) Marshal ¶
func (m *EncodedProfile) Marshal() ([]byte, error)
func (*EncodedProfile) MarshalJSON ¶
func (m *EncodedProfile) MarshalJSON() ([]byte, error)
func (*EncodedProfile) Reset ¶
func (m *EncodedProfile) Reset()
func (*EncodedProfile) Size ¶
func (m *EncodedProfile) Size() int
func (*EncodedProfile) String ¶
func (this *EncodedProfile) String() string
func (*EncodedProfile) Unmarshal ¶
func (m *EncodedProfile) Unmarshal(data []byte) error
func (*EncodedProfile) UnmarshalJSON ¶
func (m *EncodedProfile) UnmarshalJSON(s []byte) error
func (*EncodedProfile) UpdateEncoding ¶
func (m *EncodedProfile) UpdateEncoding()
func (*EncodedProfile) VerboseEqual ¶
func (this *EncodedProfile) VerboseEqual(that interface{}) error
type EncodedSignedEntryUpdate ¶
type EncodedSignedEntryUpdate struct { SignedEntryUpdate Encoding []byte }
func NewPopulatedEncodedSignedEntryUpdate ¶
func NewPopulatedEncodedSignedEntryUpdate(r randyClient, easy bool) *EncodedSignedEntryUpdate
func (*EncodedSignedEntryUpdate) Equal ¶
func (this *EncodedSignedEntryUpdate) Equal(that interface{}) bool
func (*EncodedSignedEntryUpdate) GoString ¶
func (this *EncodedSignedEntryUpdate) GoString() string
func (*EncodedSignedEntryUpdate) Marshal ¶
func (m *EncodedSignedEntryUpdate) Marshal() ([]byte, error)
func (*EncodedSignedEntryUpdate) MarshalJSON ¶
func (m *EncodedSignedEntryUpdate) MarshalJSON() ([]byte, error)
func (*EncodedSignedEntryUpdate) MarshalTo ¶
func (m *EncodedSignedEntryUpdate) MarshalTo(data []byte) (int, error)
func (*EncodedSignedEntryUpdate) Reset ¶
func (m *EncodedSignedEntryUpdate) Reset()
func (*EncodedSignedEntryUpdate) Size ¶
func (m *EncodedSignedEntryUpdate) Size() int
func (*EncodedSignedEntryUpdate) String ¶
func (this *EncodedSignedEntryUpdate) String() string
func (*EncodedSignedEntryUpdate) Unmarshal ¶
func (m *EncodedSignedEntryUpdate) Unmarshal(data []byte) error
func (*EncodedSignedEntryUpdate) UnmarshalJSON ¶
func (m *EncodedSignedEntryUpdate) UnmarshalJSON(s []byte) error
func (*EncodedSignedEntryUpdate) UpdateEncoding ¶
func (m *EncodedSignedEntryUpdate) UpdateEncoding()
func (*EncodedSignedEntryUpdate) VerboseEqual ¶
func (this *EncodedSignedEntryUpdate) VerboseEqual(that interface{}) error
type EncodedTimestampedEpochHead ¶
type EncodedTimestampedEpochHead struct { TimestampedEpochHead Encoding []byte }
func NewPopulatedEncodedTimestampedEpochHead ¶
func NewPopulatedEncodedTimestampedEpochHead(r randyClient, easy bool) *EncodedTimestampedEpochHead
func (*EncodedTimestampedEpochHead) Equal ¶
func (this *EncodedTimestampedEpochHead) Equal(that interface{}) bool
func (*EncodedTimestampedEpochHead) GoString ¶
func (this *EncodedTimestampedEpochHead) GoString() string
func (*EncodedTimestampedEpochHead) Marshal ¶
func (m *EncodedTimestampedEpochHead) Marshal() ([]byte, error)
func (*EncodedTimestampedEpochHead) MarshalJSON ¶
func (m *EncodedTimestampedEpochHead) MarshalJSON() ([]byte, error)
func (*EncodedTimestampedEpochHead) MarshalTo ¶
func (m *EncodedTimestampedEpochHead) MarshalTo(data []byte) (int, error)
func (*EncodedTimestampedEpochHead) Reset ¶
func (m *EncodedTimestampedEpochHead) Reset()
func (*EncodedTimestampedEpochHead) Size ¶
func (m *EncodedTimestampedEpochHead) Size() int
func (*EncodedTimestampedEpochHead) String ¶
func (this *EncodedTimestampedEpochHead) String() string
func (*EncodedTimestampedEpochHead) Unmarshal ¶
func (m *EncodedTimestampedEpochHead) Unmarshal(data []byte) error
func (*EncodedTimestampedEpochHead) UnmarshalJSON ¶
func (m *EncodedTimestampedEpochHead) UnmarshalJSON(s []byte) error
func (*EncodedTimestampedEpochHead) UpdateEncoding ¶
func (m *EncodedTimestampedEpochHead) UpdateEncoding()
func (*EncodedTimestampedEpochHead) VerboseEqual ¶
func (this *EncodedTimestampedEpochHead) VerboseEqual(that interface{}) error
type Entry ¶
type Entry struct { // Index specifies the location of the entry in the authenticated // mapping data structure. It is computed as a verifiable random // function of the name: the keyserver can prove that index=vrf(name) // to anybody, but nobody else can compute vrf(name1). This is to // maintain the privacy of usernames. Index []byte `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` // Version starts at 0 at registration and must not decrease. The keyserver // and verifiers MUST reject SignedEntryUpdates which violate these rules. // The purpose of this is to prevent an attacker from replaying a // SignedEntryUpdate that publishes a key that the attacker has gained // control of. On the other hand, increases by more than one are allowed: a // user should be allowed to generate a long-lived offline revocation // certificate that is valid even after they make some other change to // their profile. Nevertheless, unless explicitly required otherwise, // clients should increase the version number by exactly one on each // update. Version uint64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` // UpdatePolicy will be used to verify SignedEntryUpdates to this // entry. It is NOT used for encryption, and SHOULD be ignored by // applications that do not intend to manage the user's profile. It has // also been called "the public key of the profile signing key" or "the // public identity key". A keyserver MUST NOT discriminate users based on // ther structure of their update_key other than (1) as specified in // SignedEntryUpdate and (2) common-sense limits on the total size of an // entry to limit storage cost. UpdatePolicy *AuthorizationPolicy `protobuf:"bytes,3,opt,name=update_policy" json:"update_policy,omitempty"` // ProfileCommitment uniquely specifies the profile without revealing its // contents. The commitment is computed as commitment = // sha3shake256(profile); the contents contain a nonce. ProfileCommitment []byte `protobuf:"bytes,4,opt,name=profile_commitment,proto3" json:"profile_commitment,omitempty"` }
Entry is the value type in the authenticated mapping data structure. The contents of all entries should be considered public (they are served to verifiers).
func NewPopulatedEntry ¶
func (*Entry) GetUpdatePolicy ¶
func (m *Entry) GetUpdatePolicy() *AuthorizationPolicy
func (*Entry) ProtoMessage ¶
func (*Entry) ProtoMessage()
func (*Entry) VerboseEqual ¶
type EpochDelimiter ¶
type EpochDelimiter struct { EpochNumber uint64 `protobuf:"varint,1,opt,name=epoch_number,proto3" json:"epoch_number,omitempty"` Timestamp Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"` }
func NewPopulatedEpochDelimiter ¶
func NewPopulatedEpochDelimiter(r randyReplication, easy bool) *EpochDelimiter
func (*EpochDelimiter) Equal ¶
func (this *EpochDelimiter) Equal(that interface{}) bool
func (*EpochDelimiter) GetTimestamp ¶
func (m *EpochDelimiter) GetTimestamp() Timestamp
func (*EpochDelimiter) GoString ¶
func (this *EpochDelimiter) GoString() string
func (*EpochDelimiter) Marshal ¶
func (m *EpochDelimiter) Marshal() (data []byte, err error)
func (*EpochDelimiter) ProtoMessage ¶
func (*EpochDelimiter) ProtoMessage()
func (*EpochDelimiter) Reset ¶
func (m *EpochDelimiter) Reset()
func (*EpochDelimiter) Size ¶
func (m *EpochDelimiter) Size() (n int)
func (*EpochDelimiter) String ¶
func (this *EpochDelimiter) String() string
func (*EpochDelimiter) Unmarshal ¶
func (m *EpochDelimiter) Unmarshal(data []byte) error
func (*EpochDelimiter) VerboseEqual ¶
func (this *EpochDelimiter) VerboseEqual(that interface{}) error
type EpochHead ¶
type EpochHead struct { // Realm is the fully-qualified domain name of the keyserver whose // state is being ratified. Realm string `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"` // Epoch is a sequence number tracking distinct ratified states. Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` // RootHash specifies the authenticated data structure. RootHash []byte `protobuf:"bytes,3,opt,name=root_hash,proto3" json:"root_hash,omitempty"` // IssueTime is the time when this epoch was released. All epochs for the // same keyserver MUST have non-decreasing IssueTimes. IssueTime Timestamp `protobuf:"bytes,4,opt,name=issue_time" json:"issue_time"` // PreviousSummaryHash chaining is used to allow signatures from // different epochs in the same quorum: a signature vouches for all // epochs chained to that in addition to the one listed. // Each PreviousSummaryHash depends on PreviousSummary, therefore // (by induction on the hash-pointer structure) a // PreviousSummeryHash for some epoch specifies the states of all // previous epochs. This hash uses SHA3-SHAKE256 with 64 bytes of output. PreviousSummaryHash []byte `protobuf:"bytes,5,opt,name=previous_summary_hash,proto3" json:"previous_summary_hash,omitempty"` // NextEpochPolicy allows for automated server key rollover: the new key(s) // are signed by the current one as a part of the epoch. This field is nil // if no key change is requested. If the server key is distributed with the // client software and benefits from reliable automated updates, clients // MAY ignore this field. NextEpochPolicy AuthorizationPolicy `protobuf:"bytes,6,opt,name=next_epoch_policy" json:"next_epoch_policy"` }
func NewPopulatedEpochHead ¶
func (*EpochHead) GetIssueTime ¶
func (*EpochHead) GetNextEpochPolicy ¶
func (m *EpochHead) GetNextEpochPolicy() AuthorizationPolicy
func (*EpochHead) ProtoMessage ¶
func (*EpochHead) ProtoMessage()
func (*EpochHead) VerboseEqual ¶
type KeyserverConfig ¶
type KeyserverConfig struct { // ServerID is deprecated and should not be used. TODO: remove. Signatures // should be tagged with ReplicaIDs, and the realm can be used to refer to // the keyserver as a whole. ServerID uint64 `protobuf:"varint,1,opt,name=server_id,proto3" json:"server_id,omitempty"` // Realm specifies the general set of users whose keys this keyserver // manages. If the user identifiers are email addresses, the realm should // match the domain name in the email address. Realm string `protobuf:"bytes,2,opt,name=realm,proto3" json:"realm,omitempty"` // SigningKeyID specifies the key for the verifiable random function by // reference. The mechanism of loading keys depends on the deployment // scenario; by default, the key identifier is a path to a file containing // the key. VRFKeyID string `protobuf:"bytes,3,opt,name=vrf_key_id,proto3" json:"vrf_key_id,omitempty"` // MinEpochInterval specifies the time for which the keyserver stops // proposing new epochs once an epoch has been committed. The zero value // means no delay. After MinEpochInterval since the last epoch, the // keyserver will propose a new epoch as soon as an update has been // committed. MinEpochInterval Duration `protobuf:"bytes,4,opt,name=min_epoch_interval" json:"min_epoch_interval"` // MaxEpochInterval specifies the time after which the keyserver will // propose a new epoch even if there have been no updates since the last // epoch. Vouching for the lack of updates is important to ensure the users // that none of the served keys have been revoked. This value is a trigger, // NOT a deadline; there is no guarantee that consecutive epochs will be at // most MaxEpochInterval apart. The actual time between by epochs is // MaxEpochInterval plus however long it takes to commit and sign a new // epoch. MaxEpochInterval Duration `protobuf:"bytes,5,opt,name=max_epoch_interval" json:"max_epoch_interval"` // ProposalRetryInterval specifies the time after an unsuccessful proposal // after which the proposal will be retried. A lower value will generate // more redundant network traffic while a higher value will improve // responsiveness in presence of network or node failures (bounded below by // the raft failover time). ProposalRetryInterval Duration `protobuf:"bytes,6,opt,name=proposal_retry_interval" json:"proposal_retry_interval"` // InitialReplicas contains the cluster configuration at the beginning of // time. It MUST NOT be modified ever after, and it MUST be the same for // all replicas. Use AddReplica and RemoveReplica to change the current // cluster configuration. InitialReplicas []*Replica `protobuf:"bytes,7,rep,name=initial_replicas" json:"initial_replicas,omitempty"` // Keyserver may support multiple registration policies at a time. // A policy is acceptable only for the domains it supports. RegistrationPolicy []*RegistrationPolicy `protobuf:"bytes,8,rep,name=registration_policy" json:"registration_policy,omitempty"` }
KeyserverConfig describes the keyserver-wide configuration. All replicas MUST use the same KeyserverConfig.
func NewPopulatedKeyserverConfig ¶
func NewPopulatedKeyserverConfig(r randyKeyserverconfig, easy bool) *KeyserverConfig
func (*KeyserverConfig) Equal ¶
func (this *KeyserverConfig) Equal(that interface{}) bool
func (*KeyserverConfig) GetInitialReplicas ¶
func (m *KeyserverConfig) GetInitialReplicas() []*Replica
func (*KeyserverConfig) GetMaxEpochInterval ¶
func (m *KeyserverConfig) GetMaxEpochInterval() Duration
func (*KeyserverConfig) GetMinEpochInterval ¶
func (m *KeyserverConfig) GetMinEpochInterval() Duration
func (*KeyserverConfig) GetProposalRetryInterval ¶
func (m *KeyserverConfig) GetProposalRetryInterval() Duration
func (*KeyserverConfig) GetRegistrationPolicy ¶
func (m *KeyserverConfig) GetRegistrationPolicy() []*RegistrationPolicy
func (*KeyserverConfig) GoString ¶
func (this *KeyserverConfig) GoString() string
func (*KeyserverConfig) Marshal ¶
func (m *KeyserverConfig) Marshal() (data []byte, err error)
func (*KeyserverConfig) ProtoMessage ¶
func (*KeyserverConfig) ProtoMessage()
func (*KeyserverConfig) Reset ¶
func (m *KeyserverConfig) Reset()
func (*KeyserverConfig) Size ¶
func (m *KeyserverConfig) Size() (n int)
func (*KeyserverConfig) String ¶
func (this *KeyserverConfig) String() string
func (*KeyserverConfig) Unmarshal ¶
func (m *KeyserverConfig) Unmarshal(data []byte) error
func (*KeyserverConfig) VerboseEqual ¶
func (this *KeyserverConfig) VerboseEqual(that interface{}) error
type KeyserverStep ¶
type KeyserverStep struct { UID uint64 `protobuf:"fixed64,1,opt,name=UID,proto3" json:"UID,omitempty"` // TODO: should all fields in a oneof have their own types for extensibility? // // Types that are valid to be assigned to Type: // *KeyserverStep_Update // *KeyserverStep_EpochDelimiter // *KeyserverStep_ReplicaSigned // *KeyserverStep_VerifierSigned Type isKeyserverStep_Type `protobuf_oneof:"type"` }
KeyserverStep denotes the input to a single step of the keyserver state machine. Serializable high-availability replication is achieved by replicating an in-order log of all steps and having each replica reproduce the state from them.
func NewPopulatedKeyserverStep ¶
func NewPopulatedKeyserverStep(r randyReplication, easy bool) *KeyserverStep
func (*KeyserverStep) Equal ¶
func (this *KeyserverStep) Equal(that interface{}) bool
func (*KeyserverStep) GetEpochDelimiter ¶
func (m *KeyserverStep) GetEpochDelimiter() *EpochDelimiter
func (*KeyserverStep) GetReplicaSigned ¶
func (m *KeyserverStep) GetReplicaSigned() *SignedEpochHead
func (*KeyserverStep) GetType ¶
func (m *KeyserverStep) GetType() isKeyserverStep_Type
func (*KeyserverStep) GetUpdate ¶
func (m *KeyserverStep) GetUpdate() *UpdateRequest
func (*KeyserverStep) GetVerifierSigned ¶
func (m *KeyserverStep) GetVerifierSigned() *SignedEpochHead
func (*KeyserverStep) GoString ¶
func (this *KeyserverStep) GoString() string
func (*KeyserverStep) Marshal ¶
func (m *KeyserverStep) Marshal() (data []byte, err error)
func (*KeyserverStep) ProtoMessage ¶
func (*KeyserverStep) ProtoMessage()
func (*KeyserverStep) Reset ¶
func (m *KeyserverStep) Reset()
func (*KeyserverStep) Size ¶
func (m *KeyserverStep) Size() (n int)
func (*KeyserverStep) String ¶
func (this *KeyserverStep) String() string
func (*KeyserverStep) Unmarshal ¶
func (m *KeyserverStep) Unmarshal(data []byte) error
func (*KeyserverStep) VerboseEqual ¶
func (this *KeyserverStep) VerboseEqual(that interface{}) error
type KeyserverStep_EpochDelimiter ¶
type KeyserverStep_EpochDelimiter struct {
EpochDelimiter *EpochDelimiter `protobuf:"bytes,3,opt,name=epoch_delimiter,oneof"`
}
func NewPopulatedKeyserverStep_EpochDelimiter ¶
func NewPopulatedKeyserverStep_EpochDelimiter(r randyReplication, easy bool) *KeyserverStep_EpochDelimiter
func (*KeyserverStep_EpochDelimiter) Equal ¶
func (this *KeyserverStep_EpochDelimiter) Equal(that interface{}) bool
func (*KeyserverStep_EpochDelimiter) GoString ¶
func (this *KeyserverStep_EpochDelimiter) GoString() string
func (*KeyserverStep_EpochDelimiter) MarshalTo ¶
func (m *KeyserverStep_EpochDelimiter) MarshalTo(data []byte) (int, error)
func (*KeyserverStep_EpochDelimiter) Size ¶
func (m *KeyserverStep_EpochDelimiter) Size() (n int)
func (*KeyserverStep_EpochDelimiter) String ¶
func (this *KeyserverStep_EpochDelimiter) String() string
func (*KeyserverStep_EpochDelimiter) VerboseEqual ¶
func (this *KeyserverStep_EpochDelimiter) VerboseEqual(that interface{}) error
type KeyserverStep_ReplicaSigned ¶
type KeyserverStep_ReplicaSigned struct {
ReplicaSigned *SignedEpochHead `protobuf:"bytes,4,opt,name=replica_signed,oneof"`
}
func NewPopulatedKeyserverStep_ReplicaSigned ¶
func NewPopulatedKeyserverStep_ReplicaSigned(r randyReplication, easy bool) *KeyserverStep_ReplicaSigned
func (*KeyserverStep_ReplicaSigned) Equal ¶
func (this *KeyserverStep_ReplicaSigned) Equal(that interface{}) bool
func (*KeyserverStep_ReplicaSigned) GoString ¶
func (this *KeyserverStep_ReplicaSigned) GoString() string
func (*KeyserverStep_ReplicaSigned) MarshalTo ¶
func (m *KeyserverStep_ReplicaSigned) MarshalTo(data []byte) (int, error)
func (*KeyserverStep_ReplicaSigned) Size ¶
func (m *KeyserverStep_ReplicaSigned) Size() (n int)
func (*KeyserverStep_ReplicaSigned) String ¶
func (this *KeyserverStep_ReplicaSigned) String() string
func (*KeyserverStep_ReplicaSigned) VerboseEqual ¶
func (this *KeyserverStep_ReplicaSigned) VerboseEqual(that interface{}) error
type KeyserverStep_Update ¶
type KeyserverStep_Update struct {
Update *UpdateRequest `protobuf:"bytes,2,opt,name=update,oneof"`
}
func NewPopulatedKeyserverStep_Update ¶
func NewPopulatedKeyserverStep_Update(r randyReplication, easy bool) *KeyserverStep_Update
func (*KeyserverStep_Update) Equal ¶
func (this *KeyserverStep_Update) Equal(that interface{}) bool
func (*KeyserverStep_Update) GoString ¶
func (this *KeyserverStep_Update) GoString() string
func (*KeyserverStep_Update) MarshalTo ¶
func (m *KeyserverStep_Update) MarshalTo(data []byte) (int, error)
func (*KeyserverStep_Update) Size ¶
func (m *KeyserverStep_Update) Size() (n int)
func (*KeyserverStep_Update) String ¶
func (this *KeyserverStep_Update) String() string
func (*KeyserverStep_Update) VerboseEqual ¶
func (this *KeyserverStep_Update) VerboseEqual(that interface{}) error
type KeyserverStep_VerifierSigned ¶
type KeyserverStep_VerifierSigned struct {
VerifierSigned *SignedEpochHead `protobuf:"bytes,5,opt,name=verifier_signed,oneof"`
}
func NewPopulatedKeyserverStep_VerifierSigned ¶
func NewPopulatedKeyserverStep_VerifierSigned(r randyReplication, easy bool) *KeyserverStep_VerifierSigned
func (*KeyserverStep_VerifierSigned) Equal ¶
func (this *KeyserverStep_VerifierSigned) Equal(that interface{}) bool
func (*KeyserverStep_VerifierSigned) GoString ¶
func (this *KeyserverStep_VerifierSigned) GoString() string
func (*KeyserverStep_VerifierSigned) MarshalTo ¶
func (m *KeyserverStep_VerifierSigned) MarshalTo(data []byte) (int, error)
func (*KeyserverStep_VerifierSigned) Size ¶
func (m *KeyserverStep_VerifierSigned) Size() (n int)
func (*KeyserverStep_VerifierSigned) String ¶
func (this *KeyserverStep_VerifierSigned) String() string
func (*KeyserverStep_VerifierSigned) VerboseEqual ¶
func (this *KeyserverStep_VerifierSigned) VerboseEqual(that interface{}) error
type LookupProof ¶
type LookupProof struct { UserId string `protobuf:"bytes,1,opt,name=user_id,proto3" json:"user_id,omitempty"` Index []byte `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` // index_proof proves that index is a result of applying a globally fixed // bijection VRF to user_id: idx = VRF(user_ID). If this proof checks out, // we can safely continue by looking up the keyserver entry corresponding // to index to get the public key of user_id. IndexProof []byte `protobuf:"bytes,3,opt,name=index_proof,proto3" json:"index_proof,omitempty"` // ratifications contains signed directory state summaries for the epoch under // which the lookup was performed. // A single valid ratification r by a honest and correct verifier implies // that the r.ratification.summary.root_hash summarizes the authenticated // data structure containing the unique and correct mapping from indices to // entries as of epoch r.ratification.epoch at human time // r.ratification.timestamp. // Each ratification must contain the same epoch head. A client MUST ignore a // proof if the ratifications do not satisfy its quorum requirement and MUST // require the keyserver itself to be in the quorum. Ratifications []*SignedEpochHead `protobuf:"bytes,4,rep,name=ratifications" json:"ratifications,omitempty"` // tree_proof contains an authenticated data structure lookup trace, // arguing that index maps to entry in the data structure with hash // ratifications[0].ratification.summary.root_hash. TreeProof *TreeProof `protobuf:"bytes,5,opt,name=tree_proof" json:"tree_proof,omitempty"` // Entry specifies profile by hash(profile) = entry.profile_hash Entry *EncodedEntry `protobuf:"bytes,6,opt,name=entry,customtype=EncodedEntry" json:"entry,omitempty"` Profile *EncodedProfile `protobuf:"bytes,7,opt,name=profile,customtype=EncodedProfile" json:"profile,omitempty"` }
LookupProof encapsulates end-to-end cryptographc evidence that assuming *at least one* of the ratifiers has been correctly following the rules of the keyserver protocol then profile contains the latest public keys and metadata uploaded by user_id before the time specified in ratifications[0]. If any step of the proof does not check out, the contents of profile MUST NOT be used for any other purpose than debugging.
func NewPopulatedLookupProof ¶
func NewPopulatedLookupProof(r randyClient, easy bool) *LookupProof
func (*LookupProof) Equal ¶
func (this *LookupProof) Equal(that interface{}) bool
func (*LookupProof) GetRatifications ¶
func (m *LookupProof) GetRatifications() []*SignedEpochHead
func (*LookupProof) GetTreeProof ¶
func (m *LookupProof) GetTreeProof() *TreeProof
func (*LookupProof) GoString ¶
func (this *LookupProof) GoString() string
func (*LookupProof) Marshal ¶
func (m *LookupProof) Marshal() (data []byte, err error)
func (*LookupProof) ProtoMessage ¶
func (*LookupProof) ProtoMessage()
func (*LookupProof) Reset ¶
func (m *LookupProof) Reset()
func (*LookupProof) Size ¶
func (m *LookupProof) Size() (n int)
func (*LookupProof) String ¶
func (this *LookupProof) String() string
func (*LookupProof) Unmarshal ¶
func (m *LookupProof) Unmarshal(data []byte) error
func (*LookupProof) VerboseEqual ¶
func (this *LookupProof) VerboseEqual(that interface{}) error
type LookupRequest ¶
type LookupRequest struct { // Epoch as of which to perform the lookup ("latest" if not specified) Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` // UserId will be mapped to an index by the server using VRF UserId string `protobuf:"bytes,2,opt,name=user_id,proto3" json:"user_id,omitempty"` // quorum_requirement specifies which verifiers must have ratified the // result for it to be accepted. A server would fall back to an older // directory state if the ratifications of the latest one do not satisfy // the quorum requirement. QuorumRequirement *QuorumExpr `protobuf:"bytes,4,opt,name=quorum_requirement" json:"quorum_requirement,omitempty"` }
func NewPopulatedLookupRequest ¶
func NewPopulatedLookupRequest(r randyClient, easy bool) *LookupRequest
func (*LookupRequest) Equal ¶
func (this *LookupRequest) Equal(that interface{}) bool
func (*LookupRequest) GetQuorumRequirement ¶
func (m *LookupRequest) GetQuorumRequirement() *QuorumExpr
func (*LookupRequest) GoString ¶
func (this *LookupRequest) GoString() string
func (*LookupRequest) Marshal ¶
func (m *LookupRequest) Marshal() (data []byte, err error)
func (*LookupRequest) ProtoMessage ¶
func (*LookupRequest) ProtoMessage()
func (*LookupRequest) Reset ¶
func (m *LookupRequest) Reset()
func (*LookupRequest) Size ¶
func (m *LookupRequest) Size() (n int)
func (*LookupRequest) String ¶
func (this *LookupRequest) String() string
func (*LookupRequest) Unmarshal ¶
func (m *LookupRequest) Unmarshal(data []byte) error
func (*LookupRequest) VerboseEqual ¶
func (this *LookupRequest) VerboseEqual(that interface{}) error
type Nothing ¶
type Nothing struct { }
func NewPopulatedNothing ¶
func (*Nothing) ProtoMessage ¶
func (*Nothing) ProtoMessage()
func (*Nothing) VerboseEqual ¶
type OIDCConfig ¶
type OIDCConfig struct { // AllowedDomains specifies the domains for which this keyserver accepts // email address registrations by this policy. AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains" json:"allowed_domains,omitempty"` // DiscoveryURL specifies the location of OpenID Connect discovery document // as specified at http://openid.net/specs/openid-connect-discovery-1_0.html DiscoveryURL string `protobuf:"bytes,2,opt,name=discovery_url,proto3" json:"discovery_url,omitempty"` // Issuer specifies OpenID Connect issuer discovery url Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` // clientID specifies client's ID when the app is registered ClientID string `protobuf:"bytes,4,opt,name=clientID,proto3" json:"clientID,omitempty"` // Validity specifies the maximum amount of time the server is willing // to accept an OpenID Connect token from the issue time in the token itself. // A zero value means server will only rely on the expiry field in the token. Validity Duration `protobuf:"bytes,5,opt,name=validity" json:"validity"` }
OIDCConfig contains the OpenID Connect client configuration which is used to validate the token received from the keyserver client.
func NewPopulatedOIDCConfig ¶
func NewPopulatedOIDCConfig(r randyKeyserverconfig, easy bool) *OIDCConfig
func (*OIDCConfig) Equal ¶
func (this *OIDCConfig) Equal(that interface{}) bool
func (*OIDCConfig) GetValidity ¶
func (m *OIDCConfig) GetValidity() Duration
func (*OIDCConfig) GoString ¶
func (this *OIDCConfig) GoString() string
func (*OIDCConfig) Marshal ¶
func (m *OIDCConfig) Marshal() (data []byte, err error)
func (*OIDCConfig) ProtoMessage ¶
func (*OIDCConfig) ProtoMessage()
func (*OIDCConfig) Reset ¶
func (m *OIDCConfig) Reset()
func (*OIDCConfig) Size ¶
func (m *OIDCConfig) Size() (n int)
func (*OIDCConfig) String ¶
func (this *OIDCConfig) String() string
func (*OIDCConfig) Unmarshal ¶
func (m *OIDCConfig) Unmarshal(data []byte) error
func (*OIDCConfig) VerboseEqual ¶
func (this *OIDCConfig) VerboseEqual(that interface{}) error
type Profile ¶
type Profile struct { // Nonce containst at least 16 bytes (and counts towards the total profile // size limit). Having a nonce in each profile ensures that an attacker // can't guess-and-check somebody's profile contents using Entry.profile_hash. // It is the client's responsibility to generate a random nonce to protect the // privacy of its profile, thus the presence of this field is not checked by // the server. Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` // Application-specific public keys. The map is keyed by application ID. Keys map[string][]byte `` /* 142-byte string literal not displayed */ }
A user's profile, containing public keys and other information. A new field will be added here for each application, with the TCP/UDP port number as field number whenever possible to avoid collisions.
func NewPopulatedProfile ¶
func (*Profile) ProtoMessage ¶
func (*Profile) ProtoMessage()
func (*Profile) VerboseEqual ¶
type PublicKey ¶
type PublicKey struct { // Types that are valid to be assigned to PubkeyType: // *PublicKey_Ed25519 PubkeyType isPublicKey_PubkeyType `protobuf_oneof:"pubkey_type"` }
PublicKey wraps a public key of a cryptographically secure signature scheme and verification metadata. Each verifier can have its own signature format and needs to implement serialization and deserialization of its own signatures. The ID of a public key is defined as the 64-bit SHAKE256 hash of the protobuf-encoded public key (and interpreted as little-endian when a numeric representation is required).
func NewPopulatedPublicKey ¶
func (*PublicKey) GetEd25519 ¶
func (*PublicKey) GetPubkeyType ¶
func (m *PublicKey) GetPubkeyType() isPublicKey_PubkeyType
func (*PublicKey) ProtoMessage ¶
func (*PublicKey) ProtoMessage()
func (*PublicKey) VerboseEqual ¶
type PublicKey_Ed25519 ¶
type PublicKey_Ed25519 struct {
Ed25519 []byte `protobuf:"bytes,1,opt,name=ed25519,proto3,oneof"`
}
func NewPopulatedPublicKey_Ed25519 ¶
func NewPopulatedPublicKey_Ed25519(r randyClient, easy bool) *PublicKey_Ed25519
func (*PublicKey_Ed25519) Equal ¶
func (this *PublicKey_Ed25519) Equal(that interface{}) bool
func (*PublicKey_Ed25519) GoString ¶
func (this *PublicKey_Ed25519) GoString() string
func (*PublicKey_Ed25519) MarshalTo ¶
func (m *PublicKey_Ed25519) MarshalTo(data []byte) (int, error)
func (*PublicKey_Ed25519) Size ¶
func (m *PublicKey_Ed25519) Size() (n int)
func (*PublicKey_Ed25519) String ¶
func (this *PublicKey_Ed25519) String() string
func (*PublicKey_Ed25519) VerboseEqual ¶
func (this *PublicKey_Ed25519) VerboseEqual(that interface{}) error
type QuorumExpr ¶
type QuorumExpr struct { Threshold uint32 `protobuf:"varint,1,opt,name=threshold,proto3" json:"threshold,omitempty"` Candidates []uint64 `protobuf:"fixed64,2,rep,name=candidates" json:"candidates,omitempty"` // QuorumExpr allows expressing contitions of the form "two out of these // and three out of those". // If an implementation chooses to ban recursive thresholding, it can do so // ignoring this field. However, doing so is NOT SUPPORTED. Subexpressions []*QuorumExpr `protobuf:"bytes,3,rep,name=subexpressions" json:"subexpressions,omitempty"` }
QuorumExpr represents a function with type set<uint64> -> bool. An expression evaluates to true given args iff the sum of the following two numbers is at least threshold: - number of entries in verifiers that are in args - number of subexpressions that evaluate to true note: expr.eval(a) \wedge expr.eval(b) -> expr.eval(a \cup b)
func NewPopulatedQuorumExpr ¶
func NewPopulatedQuorumExpr(r randyClient, easy bool) *QuorumExpr
func (*QuorumExpr) Equal ¶
func (this *QuorumExpr) Equal(that interface{}) bool
func (*QuorumExpr) GetSubexpressions ¶
func (m *QuorumExpr) GetSubexpressions() []*QuorumExpr
func (*QuorumExpr) GoString ¶
func (this *QuorumExpr) GoString() string
func (*QuorumExpr) Marshal ¶
func (m *QuorumExpr) Marshal() (data []byte, err error)
func (*QuorumExpr) ProtoMessage ¶
func (*QuorumExpr) ProtoMessage()
func (*QuorumExpr) Reset ¶
func (m *QuorumExpr) Reset()
func (*QuorumExpr) Size ¶
func (m *QuorumExpr) Size() (n int)
func (*QuorumExpr) String ¶
func (this *QuorumExpr) String() string
func (*QuorumExpr) Unmarshal ¶
func (m *QuorumExpr) Unmarshal(data []byte) error
func (*QuorumExpr) VerboseEqual ¶
func (this *QuorumExpr) VerboseEqual(that interface{}) error
type RealmConfig ¶
type RealmConfig struct { // RealmName is the canonical name of the realm. It is signed by the // verifiers as a part of the epoch head. RealmName string `protobuf:"bytes,1,opt,name=RealmName,proto3" json:"RealmName,omitempty"` // Domains specifies a list of domains that belong to this realm. // Configuring one domain to belong to multiple realms is considered an // error. // TODO: support TLS-style wildcards. Domains []string `protobuf:"bytes,2,rep,name=domains" json:"domains,omitempty"` // Addr is the TCP (host:port) address of the keyserver GRPC interface. Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"` // URL is the location of the secondary, HTTP-based interface to the // keyserver. It is not necessarily on the same host as addr. URL string `protobuf:"bytes,4,opt,name=URL,proto3" json:"URL,omitempty"` // VRFPublic is the public key of the verifiable random function used for // user id privacy. Here it is used to check that the anti-spam obfuscation // layer is properly used as a one-to-one mapping between real and // obfuscated usernames. VRFPublic []byte `protobuf:"bytes,5,opt,name=VRFPublic,proto3" json:"VRFPublic,omitempty"` // VerificationPolicy specifies the conditions on how a lookup must be // verified for it to be accepted. Each verifier in VerificationPolicy MUST // have a NoOlderThan entry. VerificationPolicy *AuthorizationPolicy `protobuf:"bytes,6,opt,name=verification_policy" json:"verification_policy,omitempty"` // EpochTimeToLive specifies the duration for which an epoch is valid after // it has been issued. A client that has access to a clock MUST NOT accept // epoch heads with IssueTime more than EpochTimeToLive in the past. EpochTimeToLive Duration `protobuf:"bytes,7,opt,name=epoch_time_to_live" json:"epoch_time_to_live"` // TreeNonce is the global nonce that is hashed into the Merkle tree nodes. TreeNonce []byte `protobuf:"bytes,8,opt,name=tree_nonce,proto3" json:"tree_nonce,omitempty"` ClientTLS *TLSConfig `protobuf:"bytes,9,opt,name=client_tls" json:"client_tls,omitempty"` }
func NewPopulatedRealmConfig ¶
func NewPopulatedRealmConfig(r randyConfig, easy bool) *RealmConfig
func (*RealmConfig) Equal ¶
func (this *RealmConfig) Equal(that interface{}) bool
func (*RealmConfig) GetClientTLS ¶
func (m *RealmConfig) GetClientTLS() *TLSConfig
func (*RealmConfig) GetEpochTimeToLive ¶
func (m *RealmConfig) GetEpochTimeToLive() Duration
func (*RealmConfig) GetVerificationPolicy ¶
func (m *RealmConfig) GetVerificationPolicy() *AuthorizationPolicy
func (*RealmConfig) GoString ¶
func (this *RealmConfig) GoString() string
func (*RealmConfig) Marshal ¶
func (m *RealmConfig) Marshal() (data []byte, err error)
func (*RealmConfig) ProtoMessage ¶
func (*RealmConfig) ProtoMessage()
func (*RealmConfig) Reset ¶
func (m *RealmConfig) Reset()
func (*RealmConfig) Size ¶
func (m *RealmConfig) Size() (n int)
func (*RealmConfig) String ¶
func (this *RealmConfig) String() string
func (*RealmConfig) Unmarshal ¶
func (m *RealmConfig) Unmarshal(data []byte) error
func (*RealmConfig) VerboseEqual ¶
func (this *RealmConfig) VerboseEqual(that interface{}) error
type RegistrationPolicy ¶
type RegistrationPolicy struct { // Types that are valid to be assigned to PolicyType: // *RegistrationPolicy_InsecureSkipEmailProof // *RegistrationPolicy_EmailProofByDKIM // *RegistrationPolicy_EmailProofByClientCert // *RegistrationPolicy_EmailProofByOIDC PolicyType isRegistrationPolicy_PolicyType `protobuf_oneof:"policy_type"` }
RegistrationPolicy specifies the list of policies the keyserver may support, to confirm the ownership of an email address
func NewPopulatedRegistrationPolicy ¶
func NewPopulatedRegistrationPolicy(r randyKeyserverconfig, easy bool) *RegistrationPolicy
func (*RegistrationPolicy) Equal ¶
func (this *RegistrationPolicy) Equal(that interface{}) bool
func (*RegistrationPolicy) GetEmailProofByClientCert ¶
func (m *RegistrationPolicy) GetEmailProofByClientCert() *EmailProofByClientCert
func (*RegistrationPolicy) GetEmailProofByDKIM ¶
func (m *RegistrationPolicy) GetEmailProofByDKIM() *EmailProofByDKIM
func (*RegistrationPolicy) GetEmailProofByOIDC ¶
func (m *RegistrationPolicy) GetEmailProofByOIDC() *EmailProofByOIDC
func (*RegistrationPolicy) GetInsecureSkipEmailProof ¶
func (m *RegistrationPolicy) GetInsecureSkipEmailProof() bool
func (*RegistrationPolicy) GetPolicyType ¶
func (m *RegistrationPolicy) GetPolicyType() isRegistrationPolicy_PolicyType
func (*RegistrationPolicy) GoString ¶
func (this *RegistrationPolicy) GoString() string
func (*RegistrationPolicy) Marshal ¶
func (m *RegistrationPolicy) Marshal() (data []byte, err error)
func (*RegistrationPolicy) MarshalTo ¶
func (m *RegistrationPolicy) MarshalTo(data []byte) (int, error)
func (*RegistrationPolicy) ProtoMessage ¶
func (*RegistrationPolicy) ProtoMessage()
func (*RegistrationPolicy) Reset ¶
func (m *RegistrationPolicy) Reset()
func (*RegistrationPolicy) Size ¶
func (m *RegistrationPolicy) Size() (n int)
func (*RegistrationPolicy) String ¶
func (this *RegistrationPolicy) String() string
func (*RegistrationPolicy) Unmarshal ¶
func (m *RegistrationPolicy) Unmarshal(data []byte) error
func (*RegistrationPolicy) VerboseEqual ¶
func (this *RegistrationPolicy) VerboseEqual(that interface{}) error
type RegistrationPolicy_EmailProofByClientCert ¶
type RegistrationPolicy_EmailProofByClientCert struct {
EmailProofByClientCert *EmailProofByClientCert `protobuf:"bytes,3,opt,name=email_proof_by_client_cert,oneof"`
}
func NewPopulatedRegistrationPolicy_EmailProofByClientCert ¶
func NewPopulatedRegistrationPolicy_EmailProofByClientCert(r randyKeyserverconfig, easy bool) *RegistrationPolicy_EmailProofByClientCert
func (*RegistrationPolicy_EmailProofByClientCert) Equal ¶
func (this *RegistrationPolicy_EmailProofByClientCert) Equal(that interface{}) bool
func (*RegistrationPolicy_EmailProofByClientCert) GoString ¶
func (this *RegistrationPolicy_EmailProofByClientCert) GoString() string
func (*RegistrationPolicy_EmailProofByClientCert) MarshalTo ¶
func (m *RegistrationPolicy_EmailProofByClientCert) MarshalTo(data []byte) (int, error)
func (*RegistrationPolicy_EmailProofByClientCert) Size ¶
func (m *RegistrationPolicy_EmailProofByClientCert) Size() (n int)
func (*RegistrationPolicy_EmailProofByClientCert) String ¶
func (this *RegistrationPolicy_EmailProofByClientCert) String() string
func (*RegistrationPolicy_EmailProofByClientCert) VerboseEqual ¶
func (this *RegistrationPolicy_EmailProofByClientCert) VerboseEqual(that interface{}) error
type RegistrationPolicy_EmailProofByDKIM ¶
type RegistrationPolicy_EmailProofByDKIM struct {
EmailProofByDKIM *EmailProofByDKIM `protobuf:"bytes,2,opt,name=email_proof_by_dkim,oneof"`
}
func NewPopulatedRegistrationPolicy_EmailProofByDKIM ¶
func NewPopulatedRegistrationPolicy_EmailProofByDKIM(r randyKeyserverconfig, easy bool) *RegistrationPolicy_EmailProofByDKIM
func (*RegistrationPolicy_EmailProofByDKIM) Equal ¶
func (this *RegistrationPolicy_EmailProofByDKIM) Equal(that interface{}) bool
func (*RegistrationPolicy_EmailProofByDKIM) GoString ¶
func (this *RegistrationPolicy_EmailProofByDKIM) GoString() string
func (*RegistrationPolicy_EmailProofByDKIM) MarshalTo ¶
func (m *RegistrationPolicy_EmailProofByDKIM) MarshalTo(data []byte) (int, error)
func (*RegistrationPolicy_EmailProofByDKIM) Size ¶
func (m *RegistrationPolicy_EmailProofByDKIM) Size() (n int)
func (*RegistrationPolicy_EmailProofByDKIM) String ¶
func (this *RegistrationPolicy_EmailProofByDKIM) String() string
func (*RegistrationPolicy_EmailProofByDKIM) VerboseEqual ¶
func (this *RegistrationPolicy_EmailProofByDKIM) VerboseEqual(that interface{}) error
type RegistrationPolicy_EmailProofByOIDC ¶
type RegistrationPolicy_EmailProofByOIDC struct {
EmailProofByOIDC *EmailProofByOIDC `protobuf:"bytes,4,opt,name=email_proof_by_oidc,oneof"`
}
func NewPopulatedRegistrationPolicy_EmailProofByOIDC ¶
func NewPopulatedRegistrationPolicy_EmailProofByOIDC(r randyKeyserverconfig, easy bool) *RegistrationPolicy_EmailProofByOIDC
func (*RegistrationPolicy_EmailProofByOIDC) Equal ¶
func (this *RegistrationPolicy_EmailProofByOIDC) Equal(that interface{}) bool
func (*RegistrationPolicy_EmailProofByOIDC) GoString ¶
func (this *RegistrationPolicy_EmailProofByOIDC) GoString() string
func (*RegistrationPolicy_EmailProofByOIDC) MarshalTo ¶
func (m *RegistrationPolicy_EmailProofByOIDC) MarshalTo(data []byte) (int, error)
func (*RegistrationPolicy_EmailProofByOIDC) Size ¶
func (m *RegistrationPolicy_EmailProofByOIDC) Size() (n int)
func (*RegistrationPolicy_EmailProofByOIDC) String ¶
func (this *RegistrationPolicy_EmailProofByOIDC) String() string
func (*RegistrationPolicy_EmailProofByOIDC) VerboseEqual ¶
func (this *RegistrationPolicy_EmailProofByOIDC) VerboseEqual(that interface{}) error
type RegistrationPolicy_InsecureSkipEmailProof ¶
type RegistrationPolicy_InsecureSkipEmailProof struct {
InsecureSkipEmailProof bool `protobuf:"varint,1,opt,name=insecure_skip_email_proof,proto3,oneof"`
}
func NewPopulatedRegistrationPolicy_InsecureSkipEmailProof ¶
func NewPopulatedRegistrationPolicy_InsecureSkipEmailProof(r randyKeyserverconfig, easy bool) *RegistrationPolicy_InsecureSkipEmailProof
func (*RegistrationPolicy_InsecureSkipEmailProof) Equal ¶
func (this *RegistrationPolicy_InsecureSkipEmailProof) Equal(that interface{}) bool
func (*RegistrationPolicy_InsecureSkipEmailProof) GoString ¶
func (this *RegistrationPolicy_InsecureSkipEmailProof) GoString() string
func (*RegistrationPolicy_InsecureSkipEmailProof) MarshalTo ¶
func (m *RegistrationPolicy_InsecureSkipEmailProof) MarshalTo(data []byte) (int, error)
func (*RegistrationPolicy_InsecureSkipEmailProof) Size ¶
func (m *RegistrationPolicy_InsecureSkipEmailProof) Size() (n int)
func (*RegistrationPolicy_InsecureSkipEmailProof) String ¶
func (this *RegistrationPolicy_InsecureSkipEmailProof) String() string
func (*RegistrationPolicy_InsecureSkipEmailProof) VerboseEqual ¶
func (this *RegistrationPolicy_InsecureSkipEmailProof) VerboseEqual(that interface{}) error
type Replica ¶
type Replica struct { // Id is used to distinguish between nodes during consistent replication. // All node ID-s MUST be unique, MUST NOT be reused (e.g., using IP-s or // hostnames is probably a bad idea) and SHOULD be set to the ID of the // first public key by convention. ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // PublicKeys lists the public keys of a node, to be joined using a // 1-out-of-n policy. The order of this list is NOT preserved. PublicKeys []*PublicKey `protobuf:"bytes,2,rep,name=public_keys" json:"public_keys,omitempty"` // RaftAddr is the Raft network address of the node, such that // net.Dial("tcp", Addr) reaches the node. Supported formats include // host.domain:port and ip:port. RaftAddr string `protobuf:"bytes,3,opt,name=raft_addr,proto3" json:"raft_addr,omitempty"` }
func NewPopulatedReplica ¶
func (*Replica) GetPublicKeys ¶
func (*Replica) ProtoMessage ¶
func (*Replica) ProtoMessage()
func (*Replica) VerboseEqual ¶
type ReplicaConfig ¶
type ReplicaConfig struct { KeyserverConfig `protobuf:"bytes,1,opt,name=keyserver_config,embedded=keyserver_config" json:"keyserver_config"` // ReplicaID is a globally unique identifier. See Replica.ID. ReplicaID uint64 `protobuf:"varint,2,opt,name=replica_id,proto3" json:"replica_id,omitempty"` // SigningKeyID specifies the signing key by reference. The mechanism of // loading keys depends on the deployment scenario; by default, the key // identifier is a path to a file containing the key. SigningKeyID string `protobuf:"bytes,3,opt,name=signing_key_id,proto3" json:"signing_key_id,omitempty"` PublicAddr string `protobuf:"bytes,4,opt,name=public_addr,proto3" json:"public_addr,omitempty"` PublicTLS TLSConfig `protobuf:"bytes,5,opt,name=public_tls" json:"public_tls"` VerifierAddr string `protobuf:"bytes,6,opt,name=verifier_addr,proto3" json:"verifier_addr,omitempty"` VerifierTLS TLSConfig `protobuf:"bytes,7,opt,name=verifier_tls" json:"verifier_tls"` HKPAddr string `protobuf:"bytes,8,opt,name=hkp_addr,proto3" json:"hkp_addr,omitempty"` HKPTLS TLSConfig `protobuf:"bytes,9,opt,name=hkp_tls" json:"hkp_tls"` HTTPFrontAddr string `protobuf:"bytes,10,opt,name=httpfront_addr,proto3" json:"httpfront_addr,omitempty"` HTTPFrontTLS TLSConfig `protobuf:"bytes,11,opt,name=httpfront_tls" json:"httpfront_tls"` RaftAddr string `protobuf:"bytes,12,opt,name=raft_addr,proto3" json:"raft_addr,omitempty"` RaftTLS TLSConfig `protobuf:"bytes,13,opt,name=raft_tls" json:"raft_tls"` // LevelDBPath specifies the directory in which the database is stored. // Nothing else should use this directory. LevelDBPath string `protobuf:"bytes,14,opt,name=leveldb_path,proto3" json:"leveldb_path,omitempty"` // RaftHeartbeat specifies the interval between successive heartbeat // messages sent by the replicated state machine controller. Lowering the // heartbeat interval generates more network traffic; increasing the // interval increases the time it takes to detect a failed replica and // perform an automated failover. RaftHeartbeat Duration `protobuf:"bytes,15,opt,name=raft_heartbeat" json:"raft_heartbeat"` // LaggingVerifierScan specifies the maximum number of epochs by which a // verifier can be lagging us for us to still serve its signature to // clients. Finding the verifier signatures is currently implemented using a // linear scan backwards from the current epoch, so setting a very high // value can open up cause significant amounts of database reads on the // server. A fancy index-based scan would be possible, but there is no // clear need for it -- the epochs far in the past will probably have // expired anyway. The zero value means no limit, but it should be used for // testing only. The recommended value is 1000. LaggingVerifierScan uint64 `protobuf:"varint,16,opt,name=lagging_verifier_scan,proto3" json:"lagging_verifier_scan,omitempty"` // ClientTimeout specifies the maximum amount of time the server is willing // to allow from the start of a client request to until it is handled. The // zero value means no limit. ClientTimeout Duration `protobuf:"bytes,17,opt,name=client_timeout" json:"client_timeout"` }
ReplicaConfig contains the local configuration of a single replica of a keyserver. It is valid to have just one replica, but a larger odd number is desirable for availability.
func NewPopulatedReplicaConfig ¶
func NewPopulatedReplicaConfig(r randyKeyserverconfig, easy bool) *ReplicaConfig
func (*ReplicaConfig) Equal ¶
func (this *ReplicaConfig) Equal(that interface{}) bool
func (*ReplicaConfig) GetClientTimeout ¶
func (m *ReplicaConfig) GetClientTimeout() Duration
func (*ReplicaConfig) GetHKPTLS ¶
func (m *ReplicaConfig) GetHKPTLS() TLSConfig
func (*ReplicaConfig) GetHTTPFrontTLS ¶
func (m *ReplicaConfig) GetHTTPFrontTLS() TLSConfig
func (*ReplicaConfig) GetPublicTLS ¶
func (m *ReplicaConfig) GetPublicTLS() TLSConfig
func (*ReplicaConfig) GetRaftHeartbeat ¶
func (m *ReplicaConfig) GetRaftHeartbeat() Duration
func (*ReplicaConfig) GetRaftTLS ¶
func (m *ReplicaConfig) GetRaftTLS() TLSConfig
func (*ReplicaConfig) GetVerifierTLS ¶
func (m *ReplicaConfig) GetVerifierTLS() TLSConfig
func (*ReplicaConfig) GoString ¶
func (this *ReplicaConfig) GoString() string
func (*ReplicaConfig) Marshal ¶
func (m *ReplicaConfig) Marshal() (data []byte, err error)
func (*ReplicaConfig) ProtoMessage ¶
func (*ReplicaConfig) ProtoMessage()
func (*ReplicaConfig) Reset ¶
func (m *ReplicaConfig) Reset()
func (*ReplicaConfig) Size ¶
func (m *ReplicaConfig) Size() (n int)
func (*ReplicaConfig) String ¶
func (this *ReplicaConfig) String() string
func (*ReplicaConfig) Unmarshal ¶
func (m *ReplicaConfig) Unmarshal(data []byte) error
func (*ReplicaConfig) VerboseEqual ¶
func (this *ReplicaConfig) VerboseEqual(that interface{}) error
type ReplicaState ¶
type ReplicaState struct { // cached values derived purely from the state of the log NextIndexLog uint64 `protobuf:"varint,1,opt,name=next_index_log,proto3" json:"next_index_log,omitempty"` NextIndexVerifier uint64 `protobuf:"varint,2,opt,name=next_index_verifier,proto3" json:"next_index_verifier,omitempty"` PreviousSummaryHash []byte `protobuf:"bytes,3,opt,name=previous_summary_hash,proto3" json:"previous_summary_hash,omitempty"` LastEpochDelimiter EpochDelimiter `protobuf:"bytes,4,opt,name=last_epoch_delimiter" json:"last_epoch_delimiter"` ThisReplicaNeedsToSignLastEpoch bool `` /* 128-byte string literal not displayed */ PendingUpdates bool `protobuf:"varint,6,opt,name=pending_updates,proto3" json:"pending_updates,omitempty"` // local variables LatestTreeSnapshot uint64 `protobuf:"varint,7,opt,name=latest_tree_snapshot,proto3" json:"latest_tree_snapshot,omitempty"` LastEpochNeedsRatification bool `protobuf:"varint,8,opt,name=last_epoch_needs_ratification,proto3" json:"last_epoch_needs_ratification,omitempty"` }
ReplicaState contains the persistent internal state of a single replica. Additional on-disk state is descried in server/table.go.
func NewPopulatedReplicaState ¶
func NewPopulatedReplicaState(r randyKeyserverlocal, easy bool) *ReplicaState
func (*ReplicaState) Equal ¶
func (this *ReplicaState) Equal(that interface{}) bool
func (*ReplicaState) GetLastEpochDelimiter ¶
func (m *ReplicaState) GetLastEpochDelimiter() EpochDelimiter
func (*ReplicaState) GoString ¶
func (this *ReplicaState) GoString() string
func (*ReplicaState) Marshal ¶
func (m *ReplicaState) Marshal() (data []byte, err error)
func (*ReplicaState) ProtoMessage ¶
func (*ReplicaState) ProtoMessage()
func (*ReplicaState) Reset ¶
func (m *ReplicaState) Reset()
func (*ReplicaState) Size ¶
func (m *ReplicaState) Size() (n int)
func (*ReplicaState) String ¶
func (this *ReplicaState) String() string
func (*ReplicaState) Unmarshal ¶
func (m *ReplicaState) Unmarshal(data []byte) error
func (*ReplicaState) VerboseEqual ¶
func (this *ReplicaState) VerboseEqual(that interface{}) error
type SignedEntryUpdate ¶
type SignedEntryUpdate struct { NewEntry EncodedEntry `protobuf:"bytes,1,opt,name=new_entry,customtype=EncodedEntry" json:"new_entry"` // NewSig, if successfully verified using update.new_entry.update_key, // confirms that the new entry is willing to be bound to this index. // Both the keyserver and verifiers MUST check these signatures against the // old profile's authorization policy AND the new profile's authorization // policy. All signatures are tagged with ID of the public key that // generated them. Signatures map[uint64][]byte `` /* 156-byte string literal not displayed */ }
SignedEntryUpdate is the minimal self-contained structure to justify changing the value of an entry. In the state machine model of a namespace, SignedEntryUpdate is the main input type.
func NewPopulatedSignedEntryUpdate ¶
func NewPopulatedSignedEntryUpdate(r randyClient, easy bool) *SignedEntryUpdate
func (*SignedEntryUpdate) Equal ¶
func (this *SignedEntryUpdate) Equal(that interface{}) bool
func (*SignedEntryUpdate) GetSignatures ¶
func (m *SignedEntryUpdate) GetSignatures() map[uint64][]byte
func (*SignedEntryUpdate) GoString ¶
func (this *SignedEntryUpdate) GoString() string
func (*SignedEntryUpdate) Marshal ¶
func (m *SignedEntryUpdate) Marshal() (data []byte, err error)
func (*SignedEntryUpdate) MarshalTo ¶
func (m *SignedEntryUpdate) MarshalTo(data []byte) (int, error)
func (*SignedEntryUpdate) ProtoMessage ¶
func (*SignedEntryUpdate) ProtoMessage()
func (*SignedEntryUpdate) Reset ¶
func (m *SignedEntryUpdate) Reset()
func (*SignedEntryUpdate) Size ¶
func (m *SignedEntryUpdate) Size() (n int)
func (*SignedEntryUpdate) String ¶
func (this *SignedEntryUpdate) String() string
func (*SignedEntryUpdate) Unmarshal ¶
func (m *SignedEntryUpdate) Unmarshal(data []byte) error
func (*SignedEntryUpdate) VerboseEqual ¶
func (this *SignedEntryUpdate) VerboseEqual(that interface{}) error
type SignedEpochHead ¶
type SignedEpochHead struct { Head EncodedTimestampedEpochHead `protobuf:"bytes,1,opt,name=head,customtype=EncodedTimestampedEpochHead" json:"head"` // Signatures is used for authentication of ratification and MUST be // verified before interpreting any contents of ratification. // All signatures are tagged with ID of the public key that generated them. Signatures map[uint64][]byte `` /* 156-byte string literal not displayed */ }
SignedEpochHead messages are used by auditors and the service provider to vouch that the SummaryHash represents the correct unique global state at the end of epoch. In particular, it means that the signer has enforced the profile update policy specified in the doc-comments of SignedEntryUpdate and Profile for the specified epoch AND all prior epochs. A Ratification MUST NOT be signed in any other circumstances.
func NewPopulatedSignedEpochHead ¶
func NewPopulatedSignedEpochHead(r randyClient, easy bool) *SignedEpochHead
func (*SignedEpochHead) Equal ¶
func (this *SignedEpochHead) Equal(that interface{}) bool
func (*SignedEpochHead) GetSignatures ¶
func (m *SignedEpochHead) GetSignatures() map[uint64][]byte
func (*SignedEpochHead) GoString ¶
func (this *SignedEpochHead) GoString() string
func (*SignedEpochHead) Marshal ¶
func (m *SignedEpochHead) Marshal() (data []byte, err error)
func (*SignedEpochHead) ProtoMessage ¶
func (*SignedEpochHead) ProtoMessage()
func (*SignedEpochHead) Reset ¶
func (m *SignedEpochHead) Reset()
func (*SignedEpochHead) Size ¶
func (m *SignedEpochHead) Size() (n int)
func (*SignedEpochHead) String ¶
func (this *SignedEpochHead) String() string
func (*SignedEpochHead) Unmarshal ¶
func (m *SignedEpochHead) Unmarshal(data []byte) error
func (*SignedEpochHead) VerboseEqual ¶
func (this *SignedEpochHead) VerboseEqual(that interface{}) error
type TLSConfig ¶
type TLSConfig struct { // Certificates contains one or more certificate chains // to present to the other side of the connection. // Server configurations must include at least one certificate. Certificates []*CertificateAndKeyID `protobuf:"bytes,1,rep,name=certificates" json:"certificates,omitempty"` // RootCAs defines the set of root certificate authorities // that clients use when verifying server certificates. // If RootCAs is nil, TLS uses the host's root CA set. // The certificates are expected in DER format. RootCAs [][]byte `protobuf:"bytes,3,rep,name=root_cas" json:"root_cas,omitempty"` // NextProtos is a list of supported, application level protocols. NextProtos []string `protobuf:"bytes,4,rep,name=next_protos" json:"next_protos,omitempty"` // ServerName is used to verify the hostname on the returned // certificates. It is also included in the client's handshake to support // virtual hosting. ServerName string `protobuf:"bytes,5,opt,name=server_name,proto3" json:"server_name,omitempty"` // ClientAuth determines the server's policy for // TLS Client Authentication. The default is NoClientCert. ClientAuth ClientAuthType `protobuf:"varint,6,opt,name=client_auth,proto3,enum=proto.ClientAuthType" json:"client_auth,omitempty"` // ClientCAs defines the set of root certificate authorities that servers // use if required to verify a client certificate by the policy in // ClientAuth. The certificates are expected in DER format. ClientCAs [][]byte `protobuf:"bytes,7,rep,name=client_cas" json:"client_cas,omitempty"` // CipherSuites is a list of supported cipher suites. If CipherSuites // is nil, TLS uses a list of suites supported by the implementation. CipherSuites []CipherSuite `protobuf:"varint,8,rep,name=cipher_suites,enum=proto.CipherSuite" json:"cipher_suites,omitempty"` // PreferServerCipherSuites controls whether the server selects the // client's most preferred ciphersuite, or the server's most preferred // ciphersuite. If true then the server's preference, as expressed in // the order of elements in CipherSuites, is used. PreferServerCipherSuites bool `protobuf:"varint,9,opt,name=prefer_server_cipher_suites,proto3" json:"prefer_server_cipher_suites,omitempty"` // SessionTicketsEnabled may be set to true to enable session ticket // (resumption) support. Enabling session tickets limits forward secrecy to // until after the lifetime of the session ticket key (which, by default, // lives as long as the server process). SessionTicketsEnabled bool `protobuf:"varint,10,opt,name=session_tickets_enabled,proto3" json:"session_tickets_enabled,omitempty"` // SessionTicketKey (32 bytes) is used by TLS servers to provide session // resumption. See RFC 5077. If zero, it will be filled with random data // before the first server handshake. // // If multiple servers are terminating connections for the same host // they should all have the same SessionTicketKey. If the // SessionTicketKey leaks, previously recorded and future TLS // connections using that key are compromised. SessionTicketKeyID string `protobuf:"bytes,11,opt,name=session_ticket_key_id,proto3" json:"session_ticket_key_id,omitempty"` // MinVersion contains the minimum SSL/TLS version that is acceptable. // If zero, then SSLv3 is taken as the minimum. MinVersion TLSVersion `protobuf:"varint,12,opt,name=min_version,proto3,enum=proto.TLSVersion" json:"min_version,omitempty"` // MaxVersion contains the maximum SSL/TLS version that is acceptable. // If zero, then the maximum version supported by this package is used, // which is currently TLS 1.2. MaxVersion TLSVersion `protobuf:"varint,13,opt,name=max_version,proto3,enum=proto.TLSVersion" json:"max_version,omitempty"` // CurvePreferences contains the elliptic curves that will be used in // an ECDHE handshake, in preference order. If empty, the default will // be used. CurvePreferences []CurveID `protobuf:"varint,14,rep,name=curve_preferences,enum=proto.CurveID" json:"curve_preferences,omitempty"` }
TLSConfig structure is used to configure a TLS client or server.
func NewPopulatedTLSConfig ¶
func (*TLSConfig) GetCertificates ¶
func (m *TLSConfig) GetCertificates() []*CertificateAndKeyID
func (*TLSConfig) ProtoMessage ¶
func (*TLSConfig) ProtoMessage()
func (*TLSConfig) VerboseEqual ¶
type TLSVersion ¶
type TLSVersion int32
const ( TLSVersion_UNSPECIFIED TLSVersion = 0 VERSION_SSL30 TLSVersion = 768 VERSION_TLS10 TLSVersion = 769 VERSION_TLS11 TLSVersion = 770 VERSION_TLS12 TLSVersion = 771 )
func (TLSVersion) String ¶
func (x TLSVersion) String() string
type Timestamp ¶
type Timestamp struct { // Represents seconds of UTC time since Unix epoch // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to // 9999-12-31T23:59:59Z inclusive. Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` // Non-negative fractions of a second at nanosecond resolution. Negative // second values with fractions must still have non-negative nanos values // that count forward in time. Must be from 0 to 999,999,999 // inclusive. Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` }
A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
Example 1: Compute Timestamp from POSIX `time()`.
Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
Example 2: Compute Timestamp from POSIX `gettimeofday()`.
struct timeval tv; gettimeofday(&tv, NULL); Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
long millis = System.currentTimeMillis(); Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
Example 5: Compute Timestamp from Python `datetime.datetime`.
now = datetime.datetime.utcnow() seconds = int(time.mktime(now.timetuple())) nanos = now.microsecond * 1000 timestamp = Timestamp(seconds=seconds, nanos=nanos)
func NewPopulatedTimestamp ¶
func (*Timestamp) ProtoMessage ¶
func (*Timestamp) ProtoMessage()
func (*Timestamp) VerboseEqual ¶
type TimestampedEpochHead ¶
type TimestampedEpochHead struct { // EpochHead specifies the entire state and history of the // realm. Head EncodedEpochHead `protobuf:"bytes,1,opt,name=head,customtype=EncodedEpochHead" json:"head"` // Timestamp specifies when the requirements for SignedEpochHead // were checked. Clients will accept a SignedEpochHead timestamped at most a // fixed amount of time into the past, and MUST fail secure if the timestamp // is not fresh because the directory state may have changed. The signature // expiration tolerance plus the maximum clock skew between a pair of clients // is the maximum propogation time of a change from one to another after which // even a malicious keyserver will not be able to convince a client to a // accept the previous state (assuming that all quorums the client considers // sufficient contain a correct and honest server). Timestamp Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp"` }
func NewPopulatedTimestampedEpochHead ¶
func NewPopulatedTimestampedEpochHead(r randyClient, easy bool) *TimestampedEpochHead
func (*TimestampedEpochHead) Equal ¶
func (this *TimestampedEpochHead) Equal(that interface{}) bool
func (*TimestampedEpochHead) GetTimestamp ¶
func (m *TimestampedEpochHead) GetTimestamp() Timestamp
func (*TimestampedEpochHead) GoString ¶
func (this *TimestampedEpochHead) GoString() string
func (*TimestampedEpochHead) Marshal ¶
func (m *TimestampedEpochHead) Marshal() (data []byte, err error)
func (*TimestampedEpochHead) MarshalTo ¶
func (m *TimestampedEpochHead) MarshalTo(data []byte) (int, error)
func (*TimestampedEpochHead) ProtoMessage ¶
func (*TimestampedEpochHead) ProtoMessage()
func (*TimestampedEpochHead) Reset ¶
func (m *TimestampedEpochHead) Reset()
func (*TimestampedEpochHead) Size ¶
func (m *TimestampedEpochHead) Size() (n int)
func (*TimestampedEpochHead) String ¶
func (this *TimestampedEpochHead) String() string
func (*TimestampedEpochHead) Unmarshal ¶
func (m *TimestampedEpochHead) Unmarshal(data []byte) error
func (*TimestampedEpochHead) VerboseEqual ¶
func (this *TimestampedEpochHead) VerboseEqual(that interface{}) error
type TreeProof ¶
type TreeProof struct { // Neighbors is a list of all the adjacent nodes along the path from the // bottommost node to the root. To save space, hashes for empty subtrees are // nil, and the number of hashes is equal to the length of the longest common // prefix with another entry in the tree (since a leaf node is moved up to // that point -- subtrees with a single entry are coalesced into a single // node). Neighbors [][]byte `protobuf:"bytes,1,rep,name=neighbors" json:"neighbors,omitempty"` // This is the index for the binding that does exist; it will share a prefix // with the requested index, but in case the leaf contains the wrong // contents, it will be different. It will be nil if the requested VRF falls // under an empty branch. ExistingIndex []byte `protobuf:"bytes,2,opt,name=existing_index,proto3" json:"existing_index,omitempty"` // This is the hash of the entry for the binding that does exist. If the leaf // contains the wrong contents, the client can use this to verify that the // incorrect leaf takes up the entire branch. ExistingEntryHash []byte `protobuf:"bytes,3,opt,name=existing_entry_hash,proto3" json:"existing_entry_hash,omitempty"` }
A Proof provides an authentication path through the Merkle Tree that proves that an item is or is not present in the tree.
func NewPopulatedTreeProof ¶
func (*TreeProof) ProtoMessage ¶
func (*TreeProof) ProtoMessage()
func (*TreeProof) VerboseEqual ¶
type UpdateRequest ¶
type UpdateRequest struct { // Update is passed on to verifiers. Update *SignedEntryUpdate `protobuf:"bytes,1,opt,name=update" json:"update,omitempty"` // Profile is included in the update request from the client to the // keyserver, but not passed on to the verifiers. The keyserver SHOULD // store it locally and include it in LookupProofs returned for lookups. // The verifiers MUST NOT try to read this field. // A keyserver MUST NOT discriminate users based on ther structure of their // profile other than enforcing a common-sense size limit. In particular, a // profile with fields that the keyserver does not understand or whose // values it considers invalid MUST be accepted. Profile EncodedProfile `protobuf:"bytes,2,opt,name=profile,customtype=EncodedProfile" json:"profile"` LookupParameters *LookupRequest `protobuf:"bytes,3,opt,name=lookup_parameters" json:"lookup_parameters,omitempty"` EmailProof *EmailProof `protobuf:"bytes,1000,opt,name=email_proof" json:"email_proof,omitempty"` }
UpdateRequest specifies an update and the quorum required for considering the update successful. The server should respond with a lookup of the updated name with the specified parameters.
func NewPopulatedUpdateRequest ¶
func NewPopulatedUpdateRequest(r randyClient, easy bool) *UpdateRequest
func (*UpdateRequest) Equal ¶
func (this *UpdateRequest) Equal(that interface{}) bool
func (*UpdateRequest) GetEmailProof ¶
func (m *UpdateRequest) GetEmailProof() *EmailProof
func (*UpdateRequest) GetLookupParameters ¶
func (m *UpdateRequest) GetLookupParameters() *LookupRequest
func (*UpdateRequest) GetUpdate ¶
func (m *UpdateRequest) GetUpdate() *SignedEntryUpdate
func (*UpdateRequest) GoString ¶
func (this *UpdateRequest) GoString() string
func (*UpdateRequest) Marshal ¶
func (m *UpdateRequest) Marshal() (data []byte, err error)
func (*UpdateRequest) ProtoMessage ¶
func (*UpdateRequest) ProtoMessage()
func (*UpdateRequest) Reset ¶
func (m *UpdateRequest) Reset()
func (*UpdateRequest) Size ¶
func (m *UpdateRequest) Size() (n int)
func (*UpdateRequest) String ¶
func (this *UpdateRequest) String() string
func (*UpdateRequest) Unmarshal ¶
func (m *UpdateRequest) Unmarshal(data []byte) error
func (*UpdateRequest) VerboseEqual ¶
func (this *UpdateRequest) VerboseEqual(that interface{}) error
type VerifierConfig ¶
type VerifierConfig struct { ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` SigningKeyID string `protobuf:"bytes,2,opt,name=signing_key_id,proto3" json:"signing_key_id,omitempty"` Realm string `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"` TLS *TLSConfig `protobuf:"bytes,4,opt,name=tls" json:"tls,omitempty"` KeyserverAddr string `protobuf:"bytes,5,opt,name=keyserver_addr,proto3" json:"keyserver_addr,omitempty"` InitialKeyserverAuth AuthorizationPolicy `protobuf:"bytes,6,opt,name=initial_keyserver_auth" json:"initial_keyserver_auth"` TreeNonce []byte `protobuf:"bytes,7,opt,name=tree_nonce,proto3" json:"tree_nonce,omitempty"` }
func NewPopulatedVerifierConfig ¶
func NewPopulatedVerifierConfig(r randyVerifierconfig, easy bool) *VerifierConfig
func (*VerifierConfig) Equal ¶
func (this *VerifierConfig) Equal(that interface{}) bool
func (*VerifierConfig) GetInitialKeyserverAuth ¶
func (m *VerifierConfig) GetInitialKeyserverAuth() AuthorizationPolicy
func (*VerifierConfig) GetTLS ¶
func (m *VerifierConfig) GetTLS() *TLSConfig
func (*VerifierConfig) GoString ¶
func (this *VerifierConfig) GoString() string
func (*VerifierConfig) Marshal ¶
func (m *VerifierConfig) Marshal() (data []byte, err error)
func (*VerifierConfig) ProtoMessage ¶
func (*VerifierConfig) ProtoMessage()
func (*VerifierConfig) Reset ¶
func (m *VerifierConfig) Reset()
func (*VerifierConfig) Size ¶
func (m *VerifierConfig) Size() (n int)
func (*VerifierConfig) String ¶
func (this *VerifierConfig) String() string
func (*VerifierConfig) Unmarshal ¶
func (m *VerifierConfig) Unmarshal(data []byte) error
func (*VerifierConfig) VerboseEqual ¶
func (this *VerifierConfig) VerboseEqual(that interface{}) error
type VerifierState ¶
type VerifierState struct { NextIndex uint64 `protobuf:"varint,1,opt,name=next_index,proto3" json:"next_index,omitempty"` NextEpoch uint64 `protobuf:"varint,2,opt,name=next_epoch,proto3" json:"next_epoch,omitempty"` PreviousSummaryHash []byte `protobuf:"bytes,3,opt,name=previous_summary_hash,proto3" json:"previous_summary_hash,omitempty"` LatestTreeSnapshot uint64 `protobuf:"varint,4,opt,name=latest_tree_snapshot,proto3" json:"latest_tree_snapshot,omitempty"` KeyserverAuth *AuthorizationPolicy `protobuf:"bytes,5,opt,name=keyserver_auth" json:"keyserver_auth,omitempty"` }
Verifier contains the persistent internal state of a verifier. Additional on-disk state is described in verifier/table.go.
func NewPopulatedVerifierState ¶
func NewPopulatedVerifierState(r randyVerifierlocal, easy bool) *VerifierState
func (*VerifierState) Equal ¶
func (this *VerifierState) Equal(that interface{}) bool
func (*VerifierState) GetKeyserverAuth ¶
func (m *VerifierState) GetKeyserverAuth() *AuthorizationPolicy
func (*VerifierState) GoString ¶
func (this *VerifierState) GoString() string
func (*VerifierState) Marshal ¶
func (m *VerifierState) Marshal() (data []byte, err error)
func (*VerifierState) ProtoMessage ¶
func (*VerifierState) ProtoMessage()
func (*VerifierState) Reset ¶
func (m *VerifierState) Reset()
func (*VerifierState) Size ¶
func (m *VerifierState) Size() (n int)
func (*VerifierState) String ¶
func (this *VerifierState) String() string
func (*VerifierState) Unmarshal ¶
func (m *VerifierState) Unmarshal(data []byte) error
func (*VerifierState) VerboseEqual ¶
func (this *VerifierState) VerboseEqual(that interface{}) error
type VerifierStep ¶
type VerifierStep struct { // Types that are valid to be assigned to Type: // *VerifierStep_Update // *VerifierStep_Epoch Type isVerifierStep_Type `protobuf_oneof:"type"` }
VerifierStep denotes the input to a single state transition of the verified part of the keyserver state machine.
func NewPopulatedVerifierStep ¶
func NewPopulatedVerifierStep(r randyVerifier, easy bool) *VerifierStep
func (*VerifierStep) Equal ¶
func (this *VerifierStep) Equal(that interface{}) bool
func (*VerifierStep) GetEpoch ¶
func (m *VerifierStep) GetEpoch() *SignedEpochHead
func (*VerifierStep) GetType ¶
func (m *VerifierStep) GetType() isVerifierStep_Type
func (*VerifierStep) GetUpdate ¶
func (m *VerifierStep) GetUpdate() *SignedEntryUpdate
func (*VerifierStep) GoString ¶
func (this *VerifierStep) GoString() string
func (*VerifierStep) Marshal ¶
func (m *VerifierStep) Marshal() (data []byte, err error)
func (*VerifierStep) ProtoMessage ¶
func (*VerifierStep) ProtoMessage()
func (*VerifierStep) Reset ¶
func (m *VerifierStep) Reset()
func (*VerifierStep) Size ¶
func (m *VerifierStep) Size() (n int)
func (*VerifierStep) String ¶
func (this *VerifierStep) String() string
func (*VerifierStep) Unmarshal ¶
func (m *VerifierStep) Unmarshal(data []byte) error
func (*VerifierStep) VerboseEqual ¶
func (this *VerifierStep) VerboseEqual(that interface{}) error
type VerifierStep_Epoch ¶
type VerifierStep_Epoch struct {
Epoch *SignedEpochHead `protobuf:"bytes,2,opt,name=Epoch,oneof"`
}
func NewPopulatedVerifierStep_Epoch ¶
func NewPopulatedVerifierStep_Epoch(r randyVerifier, easy bool) *VerifierStep_Epoch
func (*VerifierStep_Epoch) Equal ¶
func (this *VerifierStep_Epoch) Equal(that interface{}) bool
func (*VerifierStep_Epoch) GoString ¶
func (this *VerifierStep_Epoch) GoString() string
func (*VerifierStep_Epoch) MarshalTo ¶
func (m *VerifierStep_Epoch) MarshalTo(data []byte) (int, error)
func (*VerifierStep_Epoch) Size ¶
func (m *VerifierStep_Epoch) Size() (n int)
func (*VerifierStep_Epoch) String ¶
func (this *VerifierStep_Epoch) String() string
func (*VerifierStep_Epoch) VerboseEqual ¶
func (this *VerifierStep_Epoch) VerboseEqual(that interface{}) error
type VerifierStep_Update ¶
type VerifierStep_Update struct {
Update *SignedEntryUpdate `protobuf:"bytes,1,opt,name=Update,oneof"`
}
func NewPopulatedVerifierStep_Update ¶
func NewPopulatedVerifierStep_Update(r randyVerifier, easy bool) *VerifierStep_Update
func (*VerifierStep_Update) Equal ¶
func (this *VerifierStep_Update) Equal(that interface{}) bool
func (*VerifierStep_Update) GoString ¶
func (this *VerifierStep_Update) GoString() string
func (*VerifierStep_Update) MarshalTo ¶
func (m *VerifierStep_Update) MarshalTo(data []byte) (int, error)
func (*VerifierStep_Update) Size ¶
func (m *VerifierStep_Update) Size() (n int)
func (*VerifierStep_Update) String ¶
func (this *VerifierStep_Update) String() string
func (*VerifierStep_Update) VerboseEqual ¶
func (this *VerifierStep_Update) VerboseEqual(that interface{}) error
type VerifierStreamRequest ¶
type VerifierStreamRequest struct { // Start identifies the first epoch for which verifier steps should be // returned. Start uint64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // PageSize specifies number of entries to be returned, MaxUint64 for // unlimited. PageSize uint64 `protobuf:"varint,2,opt,name=page_size,proto3" json:"page_size,omitempty"` }
UpdateRequest streams a specified number of committed updates or ratifications. See replication.GetCommitted and replication.WaitCommitted.
func NewPopulatedVerifierStreamRequest ¶
func NewPopulatedVerifierStreamRequest(r randyVerifier, easy bool) *VerifierStreamRequest
func (*VerifierStreamRequest) Equal ¶
func (this *VerifierStreamRequest) Equal(that interface{}) bool
func (*VerifierStreamRequest) GoString ¶
func (this *VerifierStreamRequest) GoString() string
func (*VerifierStreamRequest) Marshal ¶
func (m *VerifierStreamRequest) Marshal() (data []byte, err error)
func (*VerifierStreamRequest) MarshalTo ¶
func (m *VerifierStreamRequest) MarshalTo(data []byte) (int, error)
func (*VerifierStreamRequest) ProtoMessage ¶
func (*VerifierStreamRequest) ProtoMessage()
func (*VerifierStreamRequest) Reset ¶
func (m *VerifierStreamRequest) Reset()
func (*VerifierStreamRequest) Size ¶
func (m *VerifierStreamRequest) Size() (n int)
func (*VerifierStreamRequest) String ¶
func (this *VerifierStreamRequest) String() string
func (*VerifierStreamRequest) Unmarshal ¶
func (m *VerifierStreamRequest) Unmarshal(data []byte) error
func (*VerifierStreamRequest) VerboseEqual ¶
func (this *VerifierStreamRequest) VerboseEqual(that interface{}) error
Source Files ¶
- AuthorizationPolicy.pr.go
- Entry.pr.go
- EpochHead.pr.go
- Profile.pr.go
- SignedEntryUpdate.pr.go
- TimestampedEpochHead.pr.go
- client.pb.go
- config.pb.go
- duration.go
- duration.pb.go
- keyid.go
- keyserverconfig.pb.go
- keyserverlocal.pb.go
- marshal.go
- replication.pb.go
- time.go
- timestamp.pb.go
- tlsconfig.go
- tlsconfig.pb.go
- verifier.pb.go
- verifierconfig.pb.go
- verifierlocal.pb.go