covidshield

package
v0.0.0-...-a400e20 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NonceLength is the length of a NaCl Box Nonce
	NonceLength = 24
	// KeyLength is the length of a NaCl Box Public or Private Key
	KeyLength = 32
	// KeyDataLength is the length of an Exposure Notification Temporary Exposure Key (Data)
	KeyDataLength = 16
	// Number of ENIntervalNumber (600s long) after
	// which the Key is rolled.
	// 144 * 600 = 86400 (1 day)
	MaxTEKRollingPeriod = 144
	MaxKeysInUpload     = 28
)
View Source
const (
	Default_TemporaryExposureKey_RollingPeriod = int32(144)
)

Default values for TemporaryExposureKey fields.

Variables

View Source
var (
	KeyClaimResponse_ErrorCode_name = map[int32]string{
		0: "NONE",
		1: "UNKNOWN",
		2: "INVALID_ONE_TIME_CODE",
		3: "SERVER_ERROR",
		4: "INVALID_KEY",
		5: "TEMPORARY_BAN",
	}
	KeyClaimResponse_ErrorCode_value = map[string]int32{
		"NONE":                  0,
		"UNKNOWN":               1,
		"INVALID_ONE_TIME_CODE": 2,
		"SERVER_ERROR":          3,
		"INVALID_KEY":           4,
		"TEMPORARY_BAN":         5,
	}
)

Enum value maps for KeyClaimResponse_ErrorCode.

View Source
var (
	EncryptedUploadResponse_ErrorCode_name = map[int32]string{
		0:  "NONE",
		1:  "UNKNOWN",
		2:  "INVALID_KEYPAIR",
		3:  "DECRYPTION_FAILED",
		4:  "INVALID_PAYLOAD",
		5:  "SERVER_ERROR",
		6:  "INVALID_CRYPTO_PARAMETERS",
		7:  "TOO_MANY_KEYS",
		8:  "INVALID_TIMESTAMP",
		10: "INVALID_ROLLING_PERIOD",
		11: "INVALID_KEY_DATA",
		12: "INVALID_ROLLING_START_INTERVAL_NUMBER",
		13: "INVALID_TRANSMISSION_RISK_LEVEL",
		14: "NO_KEYS_IN_PAYLOAD",
	}
	EncryptedUploadResponse_ErrorCode_value = map[string]int32{
		"NONE":                                  0,
		"UNKNOWN":                               1,
		"INVALID_KEYPAIR":                       2,
		"DECRYPTION_FAILED":                     3,
		"INVALID_PAYLOAD":                       4,
		"SERVER_ERROR":                          5,
		"INVALID_CRYPTO_PARAMETERS":             6,
		"TOO_MANY_KEYS":                         7,
		"INVALID_TIMESTAMP":                     8,
		"INVALID_ROLLING_PERIOD":                10,
		"INVALID_KEY_DATA":                      11,
		"INVALID_ROLLING_START_INTERVAL_NUMBER": 12,
		"INVALID_TRANSMISSION_RISK_LEVEL":       13,
		"NO_KEYS_IN_PAYLOAD":                    14,
	}
)

Enum value maps for EncryptedUploadResponse_ErrorCode.

View Source
var File_proto_covidshield_proto protoreflect.FileDescriptor

Functions

func CurrentRollingStartIntervalNumber

func CurrentRollingStartIntervalNumber() int32

func IntoKey

func IntoKey(bytes []byte) (*[KeyLength]byte, error)

func IntoNonce

func IntoNonce(bytes []byte) (*[NonceLength]byte, error)

Types

type EncryptedUploadRequest

type EncryptedUploadRequest struct {

	// server_public_key is provided by the Diagnosis Server to the App, and is
	// used to encrypt the payload. This key should be stored locally for 14
	// days, and used to submit the follow-up Diagnosis Key.
	ServerPublicKey []byte `protobuf:"bytes,1,req,name=server_public_key,json=serverPublicKey" json:"server_public_key,omitempty"` // 32 bytes
	// app_public_key is the public side of a keypair generated once by the
	// application and linked to the server_public_key. These are linked in the
	// Diagnosis Server, so that only one app_public_key is authorized to upload
	// for a given server_public_key. If a new server_public_key is issued to an App
	// (e.g. months later), a new app_public_key should be generated.
	AppPublicKey []byte `protobuf:"bytes,2,req,name=app_public_key,json=appPublicKey" json:"app_public_key,omitempty"` // 32 bytes
	// nonce must be 24 random bytes, and absolutely must NOT be re-used between
	// subsequent submissions of Diagnosis Keys. This nonce is passed to the
	// encryption library to generate the ciphertext.
	Nonce []byte `protobuf:"bytes,3,req,name=nonce" json:"nonce,omitempty"` // 24 bytes
	// payload is the result of encoding/marshalling, and then encrypting, an
	// `Upload` message. It is done this way rather than as an embedded message
	// field, because we need to encrypt a byte stream, not an object.
	Payload []byte `protobuf:"bytes,4,req,name=payload" json:"payload,omitempty"` // variable length
	// contains filtered or unexported fields
}

We are using a NaCl Box (Curve25519+XSalsa20+Poly1305) to encrypt and authorize messages.

Note that we are not *explicitly* signing the payload: NaCl Box provides non-repudiability for the receiving party. The receiving party (and only the receiving party) could forge the sender's signature on this message, but we there's no need or possibility for third-party verification in this scheme.

See "Security Model" at https://nacl.cr.yp.to/box.html

func (*EncryptedUploadRequest) Descriptor deprecated

func (*EncryptedUploadRequest) Descriptor() ([]byte, []int)

Deprecated: Use EncryptedUploadRequest.ProtoReflect.Descriptor instead.

func (*EncryptedUploadRequest) GetAppPublicKey

func (x *EncryptedUploadRequest) GetAppPublicKey() []byte

func (*EncryptedUploadRequest) GetNonce

func (x *EncryptedUploadRequest) GetNonce() []byte

func (*EncryptedUploadRequest) GetPayload

func (x *EncryptedUploadRequest) GetPayload() []byte

func (*EncryptedUploadRequest) GetServerPublicKey

func (x *EncryptedUploadRequest) GetServerPublicKey() []byte

func (*EncryptedUploadRequest) ProtoMessage

func (*EncryptedUploadRequest) ProtoMessage()

func (*EncryptedUploadRequest) ProtoReflect

func (x *EncryptedUploadRequest) ProtoReflect() protoreflect.Message

func (*EncryptedUploadRequest) Reset

func (x *EncryptedUploadRequest) Reset()

func (*EncryptedUploadRequest) String

func (x *EncryptedUploadRequest) String() string

type EncryptedUploadResponse

type EncryptedUploadResponse struct {
	Error *EncryptedUploadResponse_ErrorCode `protobuf:"varint,1,req,name=error,enum=covidshield.EncryptedUploadResponse_ErrorCode" json:"error,omitempty"`
	// contains filtered or unexported fields
}

EncryptedUploadResponse is received from the server in response to a EncryptedUploadRequest. If the request was successful, error will be NONE.

func (*EncryptedUploadResponse) Descriptor deprecated

func (*EncryptedUploadResponse) Descriptor() ([]byte, []int)

Deprecated: Use EncryptedUploadResponse.ProtoReflect.Descriptor instead.

func (*EncryptedUploadResponse) GetError

func (*EncryptedUploadResponse) ProtoMessage

func (*EncryptedUploadResponse) ProtoMessage()

func (*EncryptedUploadResponse) ProtoReflect

func (x *EncryptedUploadResponse) ProtoReflect() protoreflect.Message

func (*EncryptedUploadResponse) Reset

func (x *EncryptedUploadResponse) Reset()

func (*EncryptedUploadResponse) String

func (x *EncryptedUploadResponse) String() string

type EncryptedUploadResponse_ErrorCode

type EncryptedUploadResponse_ErrorCode int32
const (
	EncryptedUploadResponse_NONE                      EncryptedUploadResponse_ErrorCode = 0
	EncryptedUploadResponse_UNKNOWN                   EncryptedUploadResponse_ErrorCode = 1
	EncryptedUploadResponse_INVALID_KEYPAIR           EncryptedUploadResponse_ErrorCode = 2
	EncryptedUploadResponse_DECRYPTION_FAILED         EncryptedUploadResponse_ErrorCode = 3
	EncryptedUploadResponse_INVALID_PAYLOAD           EncryptedUploadResponse_ErrorCode = 4
	EncryptedUploadResponse_SERVER_ERROR              EncryptedUploadResponse_ErrorCode = 5
	EncryptedUploadResponse_INVALID_CRYPTO_PARAMETERS EncryptedUploadResponse_ErrorCode = 6
	EncryptedUploadResponse_TOO_MANY_KEYS             EncryptedUploadResponse_ErrorCode = 7
	// The timestamp in the Upload message must be no more than one hour old,
	// otherwise this error is generated.
	EncryptedUploadResponse_INVALID_TIMESTAMP                     EncryptedUploadResponse_ErrorCode = 8
	EncryptedUploadResponse_INVALID_ROLLING_PERIOD                EncryptedUploadResponse_ErrorCode = 10
	EncryptedUploadResponse_INVALID_KEY_DATA                      EncryptedUploadResponse_ErrorCode = 11
	EncryptedUploadResponse_INVALID_ROLLING_START_INTERVAL_NUMBER EncryptedUploadResponse_ErrorCode = 12
	EncryptedUploadResponse_INVALID_TRANSMISSION_RISK_LEVEL       EncryptedUploadResponse_ErrorCode = 13
	EncryptedUploadResponse_NO_KEYS_IN_PAYLOAD                    EncryptedUploadResponse_ErrorCode = 14
)

func (EncryptedUploadResponse_ErrorCode) Descriptor

func (EncryptedUploadResponse_ErrorCode) Enum

func (EncryptedUploadResponse_ErrorCode) EnumDescriptor deprecated

func (EncryptedUploadResponse_ErrorCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use EncryptedUploadResponse_ErrorCode.Descriptor instead.

func (EncryptedUploadResponse_ErrorCode) Number

func (EncryptedUploadResponse_ErrorCode) String

func (EncryptedUploadResponse_ErrorCode) Type

func (*EncryptedUploadResponse_ErrorCode) UnmarshalJSON deprecated

func (x *EncryptedUploadResponse_ErrorCode) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type KeyClaimRequest

type KeyClaimRequest struct {

	// one_time_code is the code received from the testing portal.
	OneTimeCode *string `protobuf:"bytes,1,req,name=one_time_code,json=oneTimeCode" json:"one_time_code,omitempty"` // 8 numerical digits
	// app_public_key is generated locally and saved upon successful request
	// completion.
	AppPublicKey []byte `protobuf:"bytes,2,req,name=app_public_key,json=appPublicKey" json:"app_public_key,omitempty"` // 32 bytes
	// contains filtered or unexported fields
}

Clients will receive a One Time Code via some external channel (i.e. SMS or verbal). Then, upon issuing THIS request, they will generate a new keypair. If the response comes back successful, the app_public_key (and the corresponding private key) and the returned server_public_key will be kept in local storage for the duration of this reporting window (the next 14 days).

app_public_keys must not be re-used for new KeyClaimRequests, or the requests will fail.

func (*KeyClaimRequest) Descriptor deprecated

func (*KeyClaimRequest) Descriptor() ([]byte, []int)

Deprecated: Use KeyClaimRequest.ProtoReflect.Descriptor instead.

func (*KeyClaimRequest) GetAppPublicKey

func (x *KeyClaimRequest) GetAppPublicKey() []byte

func (*KeyClaimRequest) GetOneTimeCode

func (x *KeyClaimRequest) GetOneTimeCode() string

func (*KeyClaimRequest) ProtoMessage

func (*KeyClaimRequest) ProtoMessage()

func (*KeyClaimRequest) ProtoReflect

func (x *KeyClaimRequest) ProtoReflect() protoreflect.Message

func (*KeyClaimRequest) Reset

func (x *KeyClaimRequest) Reset()

func (*KeyClaimRequest) String

func (x *KeyClaimRequest) String() string

type KeyClaimResponse

type KeyClaimResponse struct {
	Error                *KeyClaimResponse_ErrorCode `protobuf:"varint,1,opt,name=error,enum=covidshield.KeyClaimResponse_ErrorCode" json:"error,omitempty"`
	ServerPublicKey      []byte                      `protobuf:"bytes,2,opt,name=server_public_key,json=serverPublicKey" json:"server_public_key,omitempty"` // 32 bytes
	TriesRemaining       *uint32                     `protobuf:"varint,3,opt,name=tries_remaining,json=triesRemaining" json:"tries_remaining,omitempty"`
	RemainingBanDuration *duration.Duration          `protobuf:"bytes,4,opt,name=remaining_ban_duration,json=remainingBanDuration" json:"remaining_ban_duration,omitempty"`
	// contains filtered or unexported fields
}

KeyClaimResponse is received from the server in response to a KeyClaimRequest. If the request was successful, error will be NONE and server_public_key will be set.

func (*KeyClaimResponse) Descriptor deprecated

func (*KeyClaimResponse) Descriptor() ([]byte, []int)

Deprecated: Use KeyClaimResponse.ProtoReflect.Descriptor instead.

func (*KeyClaimResponse) GetError

func (*KeyClaimResponse) GetRemainingBanDuration

func (x *KeyClaimResponse) GetRemainingBanDuration() *duration.Duration

func (*KeyClaimResponse) GetServerPublicKey

func (x *KeyClaimResponse) GetServerPublicKey() []byte

func (*KeyClaimResponse) GetTriesRemaining

func (x *KeyClaimResponse) GetTriesRemaining() uint32

func (*KeyClaimResponse) ProtoMessage

func (*KeyClaimResponse) ProtoMessage()

func (*KeyClaimResponse) ProtoReflect

func (x *KeyClaimResponse) ProtoReflect() protoreflect.Message

func (*KeyClaimResponse) Reset

func (x *KeyClaimResponse) Reset()

func (*KeyClaimResponse) String

func (x *KeyClaimResponse) String() string

type KeyClaimResponse_ErrorCode

type KeyClaimResponse_ErrorCode int32
const (
	KeyClaimResponse_NONE                  KeyClaimResponse_ErrorCode = 0
	KeyClaimResponse_UNKNOWN               KeyClaimResponse_ErrorCode = 1
	KeyClaimResponse_INVALID_ONE_TIME_CODE KeyClaimResponse_ErrorCode = 2
	KeyClaimResponse_SERVER_ERROR          KeyClaimResponse_ErrorCode = 3
	// Indicates the key is invalid, or already registered.
	KeyClaimResponse_INVALID_KEY   KeyClaimResponse_ErrorCode = 4
	KeyClaimResponse_TEMPORARY_BAN KeyClaimResponse_ErrorCode = 5
)

func (KeyClaimResponse_ErrorCode) Descriptor

func (KeyClaimResponse_ErrorCode) Enum

func (KeyClaimResponse_ErrorCode) EnumDescriptor deprecated

func (KeyClaimResponse_ErrorCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use KeyClaimResponse_ErrorCode.Descriptor instead.

func (KeyClaimResponse_ErrorCode) Number

func (KeyClaimResponse_ErrorCode) String

func (KeyClaimResponse_ErrorCode) Type

func (*KeyClaimResponse_ErrorCode) UnmarshalJSON deprecated

func (x *KeyClaimResponse_ErrorCode) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type SignatureInfo

type SignatureInfo struct {

	// Key version in case the EN server signing key is rotated.
	VerificationKeyVersion *string `protobuf:"bytes,3,opt,name=verification_key_version,json=verificationKeyVersion" json:"verification_key_version,omitempty"`
	// Additional information to uniquely identify the public key associated with
	// the EN server's signing key (for example, the EN server might serve the
	// app from different countries with different keys).
	//
	// Three-digit mobile country code (MCC) for validating the key file.
	// If a region has more than one MCC, the server can choose
	// which MCC to use. This value does not have to match the client's MCC,
	// but must correspond to one of the supported MCCs for its region.
	VerificationKeyId *string `protobuf:"bytes,4,opt,name=verification_key_id,json=verificationKeyId" json:"verification_key_id,omitempty"`
	// All keys must be signed using the SHA-256 with ECDSA algorithm.
	// This field must contain the string "1.2.840.10045.4.3.2".
	SignatureAlgorithm *string `protobuf:"bytes,5,opt,name=signature_algorithm,json=signatureAlgorithm" json:"signature_algorithm,omitempty"`
	// contains filtered or unexported fields
}

func (*SignatureInfo) Descriptor deprecated

func (*SignatureInfo) Descriptor() ([]byte, []int)

Deprecated: Use SignatureInfo.ProtoReflect.Descriptor instead.

func (*SignatureInfo) GetSignatureAlgorithm

func (x *SignatureInfo) GetSignatureAlgorithm() string

func (*SignatureInfo) GetVerificationKeyId

func (x *SignatureInfo) GetVerificationKeyId() string

func (*SignatureInfo) GetVerificationKeyVersion

func (x *SignatureInfo) GetVerificationKeyVersion() string

func (*SignatureInfo) ProtoMessage

func (*SignatureInfo) ProtoMessage()

func (*SignatureInfo) ProtoReflect

func (x *SignatureInfo) ProtoReflect() protoreflect.Message

func (*SignatureInfo) Reset

func (x *SignatureInfo) Reset()

func (*SignatureInfo) String

func (x *SignatureInfo) String() string

type TEKSignature

type TEKSignature struct {

	// Information to uniquely identify the public key associated
	// with the EN server's signing key.
	SignatureInfo *SignatureInfo `protobuf:"bytes,1,opt,name=signature_info,json=signatureInfo" json:"signature_info,omitempty"`
	// Reserved for future use. Both batch_num and batch_size
	// must be set to a value of 1.
	BatchNum  *int32 `protobuf:"varint,2,opt,name=batch_num,json=batchNum" json:"batch_num,omitempty"`
	BatchSize *int32 `protobuf:"varint,3,opt,name=batch_size,json=batchSize" json:"batch_size,omitempty"`
	// Signature in X9.62 format (ASN.1 SEQUENCE of two INTEGER fields).
	Signature []byte `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"`
	// contains filtered or unexported fields
}

func (*TEKSignature) Descriptor deprecated

func (*TEKSignature) Descriptor() ([]byte, []int)

Deprecated: Use TEKSignature.ProtoReflect.Descriptor instead.

func (*TEKSignature) GetBatchNum

func (x *TEKSignature) GetBatchNum() int32

func (*TEKSignature) GetBatchSize

func (x *TEKSignature) GetBatchSize() int32

func (*TEKSignature) GetSignature

func (x *TEKSignature) GetSignature() []byte

func (*TEKSignature) GetSignatureInfo

func (x *TEKSignature) GetSignatureInfo() *SignatureInfo

func (*TEKSignature) ProtoMessage

func (*TEKSignature) ProtoMessage()

func (*TEKSignature) ProtoReflect

func (x *TEKSignature) ProtoReflect() protoreflect.Message

func (*TEKSignature) Reset

func (x *TEKSignature) Reset()

func (*TEKSignature) String

func (x *TEKSignature) String() string

type TEKSignatureList

type TEKSignatureList struct {

	// Information about associated signatures.
	Signatures []*TEKSignature `protobuf:"bytes,1,rep,name=signatures" json:"signatures,omitempty"`
	// contains filtered or unexported fields
}

func (*TEKSignatureList) Descriptor deprecated

func (*TEKSignatureList) Descriptor() ([]byte, []int)

Deprecated: Use TEKSignatureList.ProtoReflect.Descriptor instead.

func (*TEKSignatureList) GetSignatures

func (x *TEKSignatureList) GetSignatures() []*TEKSignature

func (*TEKSignatureList) ProtoMessage

func (*TEKSignatureList) ProtoMessage()

func (*TEKSignatureList) ProtoReflect

func (x *TEKSignatureList) ProtoReflect() protoreflect.Message

func (*TEKSignatureList) Reset

func (x *TEKSignatureList) Reset()

func (*TEKSignatureList) String

func (x *TEKSignatureList) String() string

type TemporaryExposureKey

type TemporaryExposureKey struct {

	// Temporary exposure key.
	KeyData []byte `protobuf:"bytes,1,opt,name=key_data,json=keyData" json:"key_data,omitempty"`
	// Varying risk associated with a key depending on the diagnosis method.
	TransmissionRiskLevel *int32 `protobuf:"varint,2,opt,name=transmission_risk_level,json=transmissionRiskLevel" json:"transmission_risk_level,omitempty"`
	// Number representing the beginning interval for temporary exposure
	// key validity (ENIntervalNumber).
	RollingStartIntervalNumber *int32 `` /* 137-byte string literal not displayed */
	// Number of intervals in a period.
	RollingPeriod *int32 `protobuf:"varint,4,opt,name=rolling_period,json=rollingPeriod,def=144" json:"rolling_period,omitempty"`
	// contains filtered or unexported fields
}

func (*TemporaryExposureKey) Descriptor deprecated

func (*TemporaryExposureKey) Descriptor() ([]byte, []int)

Deprecated: Use TemporaryExposureKey.ProtoReflect.Descriptor instead.

func (*TemporaryExposureKey) GetKeyData

func (x *TemporaryExposureKey) GetKeyData() []byte

func (*TemporaryExposureKey) GetRollingPeriod

func (x *TemporaryExposureKey) GetRollingPeriod() int32

func (*TemporaryExposureKey) GetRollingStartIntervalNumber

func (x *TemporaryExposureKey) GetRollingStartIntervalNumber() int32

func (*TemporaryExposureKey) GetTransmissionRiskLevel

func (x *TemporaryExposureKey) GetTransmissionRiskLevel() int32

func (*TemporaryExposureKey) ProtoMessage

func (*TemporaryExposureKey) ProtoMessage()

func (*TemporaryExposureKey) ProtoReflect

func (x *TemporaryExposureKey) ProtoReflect() protoreflect.Message

func (*TemporaryExposureKey) Reset

func (x *TemporaryExposureKey) Reset()

func (*TemporaryExposureKey) String

func (x *TemporaryExposureKey) String() string

type TemporaryExposureKeyExport

type TemporaryExposureKeyExport struct {

	// Time window of keys in the file, based on arrival
	// at the server, in UTC seconds.
	StartTimestamp *uint64 `protobuf:"fixed64,1,opt,name=start_timestamp,json=startTimestamp" json:"start_timestamp,omitempty"`
	EndTimestamp   *uint64 `protobuf:"fixed64,2,opt,name=end_timestamp,json=endTimestamp" json:"end_timestamp,omitempty"`
	// Region from which these keys came (for example, MCC, however, some schemes
	// use e.g. ISO-3166-2. There's no apparent hard requirement by the protocol
	// for the contents here).
	Region *string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
	// Reserved for future use. Both batch_num and batch_size
	// must be set to a value of 1.
	BatchNum  *int32 `protobuf:"varint,4,opt,name=batch_num,json=batchNum" json:"batch_num,omitempty"`
	BatchSize *int32 `protobuf:"varint,5,opt,name=batch_size,json=batchSize" json:"batch_size,omitempty"`
	// Information about associated signatures.
	SignatureInfos []*SignatureInfo `protobuf:"bytes,6,rep,name=signature_infos,json=signatureInfos" json:"signature_infos,omitempty"`
	// The temporary exposure keys themselves.
	Keys []*TemporaryExposureKey `protobuf:"bytes,7,rep,name=keys" json:"keys,omitempty"`
	// contains filtered or unexported fields
}

func (*TemporaryExposureKeyExport) Descriptor deprecated

func (*TemporaryExposureKeyExport) Descriptor() ([]byte, []int)

Deprecated: Use TemporaryExposureKeyExport.ProtoReflect.Descriptor instead.

func (*TemporaryExposureKeyExport) GetBatchNum

func (x *TemporaryExposureKeyExport) GetBatchNum() int32

func (*TemporaryExposureKeyExport) GetBatchSize

func (x *TemporaryExposureKeyExport) GetBatchSize() int32

func (*TemporaryExposureKeyExport) GetEndTimestamp

func (x *TemporaryExposureKeyExport) GetEndTimestamp() uint64

func (*TemporaryExposureKeyExport) GetKeys

func (*TemporaryExposureKeyExport) GetRegion

func (x *TemporaryExposureKeyExport) GetRegion() string

func (*TemporaryExposureKeyExport) GetSignatureInfos

func (x *TemporaryExposureKeyExport) GetSignatureInfos() []*SignatureInfo

func (*TemporaryExposureKeyExport) GetStartTimestamp

func (x *TemporaryExposureKeyExport) GetStartTimestamp() uint64

func (*TemporaryExposureKeyExport) ProtoMessage

func (*TemporaryExposureKeyExport) ProtoMessage()

func (*TemporaryExposureKeyExport) ProtoReflect

func (*TemporaryExposureKeyExport) Reset

func (x *TemporaryExposureKeyExport) Reset()

func (*TemporaryExposureKeyExport) String

func (x *TemporaryExposureKeyExport) String() string

type Upload

type Upload struct {

	// timestamp is just the current device time at message generation.
	Timestamp *timestamp.Timestamp `protobuf:"bytes,1,req,name=timestamp" json:"timestamp,omitempty"`
	// keys returns from the ExposureNotification API.
	Keys []*TemporaryExposureKey `protobuf:"bytes,2,rep,name=keys" json:"keys,omitempty"`
	// contains filtered or unexported fields
}

Upload is the decrypted type of the `payload` field in EncryptedUploadRequest.

func (*Upload) Descriptor deprecated

func (*Upload) Descriptor() ([]byte, []int)

Deprecated: Use Upload.ProtoReflect.Descriptor instead.

func (*Upload) GetKeys

func (x *Upload) GetKeys() []*TemporaryExposureKey

func (*Upload) GetTimestamp

func (x *Upload) GetTimestamp() *timestamp.Timestamp

func (*Upload) ProtoMessage

func (*Upload) ProtoMessage()

func (*Upload) ProtoReflect

func (x *Upload) ProtoReflect() protoreflect.Message

func (*Upload) Reset

func (x *Upload) Reset()

func (*Upload) String

func (x *Upload) String() string

Jump to

Keyboard shortcuts

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