All messages and enums in package ntt.api

Proto package ntt.api

ntt.api Shared Messages

Here is the list of ntt.api shared messages:

Account Message

NameTypeDescription
userUser
service_accountServiceAccount

DeviceFileCheck Message

NameTypeDescription
file_typeDeviceFileCheck.FileTypeOneOf
device_file_namestring

DeviceFileCheck.FileTypeOneOf Message

NameTypeDescription
is_directorybool
is_block_devicebool
is_char_devicebool
is_fifobool
is_regular_filebool

DeviceIdentity Message

NameTypeDescription
serial_numberstring
manufacturerstring
product_namestring
tpm_versionTpmVersionOnly TPM2.0 is supported
ek_tpm_pubbytesTPM_PUBLIC format object obtained by tpm2.ReadPublic
ekcertbytesASN.1 DER encoded EK certificate.
ekcerturlstringFor Intel TPMs, Intel hosts certificates at a public URL derived from the Public key. Clients or servers can perform an HTTP GET to this URL, and use ParseEKCertificate on the response body.
idevid_cert_tpm_pubbytesTPM_PUBLIC format object obtained by tpm2.ReadPublic
idevid_certbytesASN.1 DER encoded IDevID certificate.
ldevid_cert_tpm_pubbytesTPM_PUBLIC format object obtained by tpm2.ReadPublic
ldevid_certbytesASN.1 DER encoded LDevID certificate.
ak_paramsDeviceIdentity.AttestationParams
challenge_formatDeviceIdentity.ChallengeFormatChallengeFormat defines the method of generating identity activation challenge by the Verifier (server). It should affect the interpretation ChallengeResponse fields cred_encrypted_by_ekpub and secret_encrypted_by_cred. Attestor (client) is responsible for chosing the right format depending on TPM version and the presence of TrouSerS daemon.

DeviceIdentity.AttestationParams Message

NameTypeDescription
akpubbyteshttps: // trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-2-TPM-Structures_v1.2_rev116_01032011.pdf https: // www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf TPMT_PUBLIC (TPM 2.0) or TPM_PUBKEY (TPM 1.2)
creation_databytesTPMS_CREATION_DATA
attestbytesTPMS_ATTEST
signaturebytesTPMT_SIGNATURE

ExecCheck Message

ExecCheck describes a “run in container” action.

NameTypeDescription
commandrepeated stringCommand is the command line to execute inside the container, the working directory for the command is root (’/’) in the container’s filesystem. The command is simply exec’d, it is not run inside a shell, so traditional shell instructions ('

GRPCCheck Message

NameTypeDescription
portint32Port number of the gRPC service. Number must be in the range 1 to 65535.
servicestringService is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.
hoststringHost name to connect to. For containers this defaults to the container IP or wan interface IP in host mode networking For device, this is a mandatory parameter
skip_tls_checkbool

HTTPGetCheck Message

HTTPGetCheck describes health check based on HTTP Get requests.

NameTypeDescription
urlstringhttp_url field has to be used when the IP to perform health check is a container IP that cannot not be known beforehand, In all other cases, simple url string can be used Although not explicitly declared as oneof, url and http_url is oneof type
http_urlHTTPGetCheck.HTTPUrl
http_headersrepeated HTTPGetCheck.HTTPHeaderCustom headers to set in the request. HTTP allows repeated headers. optional
skip_tls_checkbool
expected_response_codeint32optional. By default any response code >= 400 or response code == 300 are considered as failure Sometimes, the health check might actually expect 401/403/511 without proper authentication setting expected_response_code will help to consider this as successful for health check
enable_detailed_metricsboolBy default only Success or Failure metric will be generated. This field can be used to enable response time metric and network metrics if supported

HTTPGetCheck.HTTPHeader Message

HTTPHeader describes a custom header to be used in HTTP HealthChecks

NameTypeDescription
namestringThe header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
valuestringThe header field value

HTTPGetCheck.HTTPUrl Message

NameTypeDescription
pathstringPath to access on the HTTP server, defaults to /
portint32port to access on the container. defaults to 80 for http and 443 for https Number must be in the range 1 to 65535.
hoststringHost name to connect to. For containers this defaults to the container IP or wan interface IP in host mode networking For device, this is a mandatory parameter
schemestringScheme to use for connecting to the host. optional, defaults to HTTP.

HealthCheckSpec Message

HealthCheck describes a health check to be performed in the context of a device or a container. Only the exec check can be truly executed inside a container. All the other checks are run on the host device. When run for device health check, host/IP address is mandatory for connectivity checks. For container health checks, host/IP is optional and would default to IP address of the container. It is important to note that a health check for https://endpoint.com/api defined for a container would be run from the host device and not from withthin the container

NameTypeDescription
http_get_checkHTTPGetCheckhttp_get_check specifies the http request to perform.
tcp_checkTCPChecktcp_check specifies an action involving a TCP port.
icmp_checkICMPCheckicmp_check specifies an icmp health check
grpc_checkGRPCCheckGRPC specifies an action involving a GRPC port. It is essential that the grpc server inplements this api https://github.com/grpc/grpc/blob/master/doc/health-checking.md If not, tcp_check should be used.
execExecCheckExec specifies the command to execute in the container to determine its health
device_file_checkDeviceFileCheckdevice_file_check is only available for device. It can be configured to ensure specific hardware is connected (eg modem /dev/cdc-wdm0, RFID reader device /dev/ttyACM0 etc)
timeout.google.protobuf.DurationTimeout for the HealthCheck. Defaults to 1 second, greater than 5 seconds is not allowed
interval.google.protobuf.DurationInterval for health check, 60 seconds minimum interval
namestringname for the health check. A meaningful name for this might be useful as a metrics label

ICMPCheck Message

NameTypeDescription
hoststringdomain name or IP Addres to perform ICMP check
enable_detailed_metricsboolBy default only Success or Failure metric will be generated. This field can be used to enable network metrics such as latency/jitter

IdentityChallenge Message

One of IDevID or LDevID is mandatory for IdentityChallenge to succeed DevID keys can be either signing or decrypt With GlobalSign + Compulab, we use decrypt keys, but other vendors like Dell may be using signing keys instead, so api should allow both

NameTypeDescription
platform_attestation_noncebytesPlatform attestation
cred_encrypted_by_ekpubbytesAK TPM Residency check
secret_encrypted_by_ekcredbytes
cred_encrypted_by_idevid_pubbytesIDevID TPM Residency check
secret_encrypted_by_idevid_credbytes
cred_encrypted_by_ldevid_pubbytesLDevID TPM Residency check
secret_encrypted_by_ldevid_credbytes
digest_to_sign_with_idevidbytesIDevID verification when key is signing
rsa_secret_to_decrypt_with_idevidbytesIDevID verification when key is decrypt
digest_to_sign_with_ldevidbytesLDevID verification when key is signing
rsa_secret_to_decrypt_with_ldevidbytesLDevID verification when key is decrypt

IdentityChallengeResponse Message

NameTypeDescription
ak_activation_decrypted_secretbytes
idevid_activation_decrypted_secretbytes
ldevid_activation_decrypted_secretbytes
digest_signed_by_idevidbytes
digest_signed_by_ldevidbytes
rsa_decrypted_with_idevidbytes
rsa_decrypted_with_ldevidbytes
quotesrepeated IdentityChallengeResponse.Quote
pcrsrepeated PCR
eventlogbytesBinary contents of /sys/kernel/security/tpm0/binary_bios_measurements

IdentityChallengeResponse.Quote Message

NameTypeDescription
quotebytesTPMS_ATTEST (TSS_VALIDATION.Data or TSS_VALIDATION.rgbData) This contains PCR selection information for which the signature was calculated and other required data, like nonce.
signaturebytesTSS_VALIDATION.ValidationData or TSS_VALIDATION.rgbValidationData

PCR Message

NameTypeDescription
indexuint32s
digest_hexstringHex-encoded digest string (without 0x prefix, e.g. “DEADBEEF”)
digest_algDigestAlg
commentstringUser’s comments for this entry

ServiceAccount Message

NameTypeDescription
typestring
client_emailstring
private_key_idstring
private_keystring

TCPCheck Message

TCPCheck performs a TCP connect check. Only TCP handshake is performed. No data is sent

NameTypeDescription
portint32Port number to access on the container or given destination. Number must be in the range 1 to 65535.
hoststringHost name to connect to. For containers this defaults to the container IP or wan interface IP in host mode networking For device, this is a mandatory parameter

User Message

NameTypeDescription
emailstring
access_tokenstring
token_typestring
refresh_tokenstring
expiry.google.protobuf.Timestamp

ntt.api Shared Enumerations

Here is the list of ntt.api shared enumerations:

DeviceIdentity.ChallengeFormat Enumeration

NameDescription
TPM20_CREDENTIALCredential Protection as defined in section 24 of the TPM specification revision 2 part 1 See: https://trustedcomputinggroup.org/resource/tpm-library-specification/ Returned primitives are of type TPM2B_ID_OBJECT and TPM2B_ENCRYPTED_SECRET. NOTE: ECC is not supported. Reference implementation: github.com/google/go-attestation@v0.3.2/attest/activation.go:generateChallengeTPM20, which uses github.com/google/go-tmp@v0.3.2/tmp2/credactivation/credential_activation.go:Generate

DigestAlg Enumeration

NameDescription
SHA1
SHA256

LaunchStage Enumeration

The launch stage as defined by Google Cloud Platform Launch Stages.

NameDescription
LAUNCH_STAGE_UNSPECIFIEDDo not use this default value.
EARLY_ACCESSEarly Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.
ALPHAAlpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects whitelisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests – just like they would in normal production cases.
BETABeta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.
GAGA features are open to all developers and are considered stable and fully qualified for production use.
DEPRECATEDDeprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our Terms of Service and the Google Cloud Platform Subject to the Deprecation Policy documentation.

TpmVersion Enumeration

NameDescription
TPMVAGNOSTIC
TPMV12
TPMV20