# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module VerifiedaccessV1 # Result message for VerifiedAccess.CreateChallenge. class Challenge include Google::Apis::Core::Hashable # The wrapper message of any data and its signature. # Corresponds to the JSON property `alternativeChallenge` # @return [Google::Apis::VerifiedaccessV1::SignedData] attr_accessor :alternative_challenge # The wrapper message of any data and its signature. # Corresponds to the JSON property `challenge` # @return [Google::Apis::VerifiedaccessV1::SignedData] attr_accessor :challenge def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alternative_challenge = args[:alternative_challenge] if args.key?(:alternative_challenge) @challenge = args[:challenge] if args.key?(:challenge) end end # A generic empty message that you can re-use to avoid defining duplicated empty # messages in your APIs. A typical example is to use it as the request or the # response type of an API method. For instance: service Foo ` rpc Bar(google. # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for # `Empty` is empty JSON object ````. class Empty include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # The wrapper message of any data and its signature. class SignedData include Google::Apis::Core::Hashable # The data to be signed. # Corresponds to the JSON property `data` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :data # The signature of the data field. # Corresponds to the JSON property `signature` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :signature def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data = args[:data] if args.key?(:data) @signature = args[:signature] if args.key?(:signature) end end # signed ChallengeResponse class VerifyChallengeResponseRequest include Google::Apis::Core::Hashable # The wrapper message of any data and its signature. # Corresponds to the JSON property `challengeResponse` # @return [Google::Apis::VerifiedaccessV1::SignedData] attr_accessor :challenge_response # Service can optionally provide identity information about the device or user # associated with the key. For an EMK, this value is the enrolled domain. For an # EUK, this value is the user's email address. If present, this value will be # checked against contents of the response, and verification will fail if there # is no match. # Corresponds to the JSON property `expectedIdentity` # @return [String] attr_accessor :expected_identity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @challenge_response = args[:challenge_response] if args.key?(:challenge_response) @expected_identity = args[:expected_identity] if args.key?(:expected_identity) end end # Result message for VerifiedAccess.VerifyChallengeResponse. class VerifyChallengeResponseResult include Google::Apis::Core::Hashable # Device enrollment id is returned in this field (for the machine response only). # Corresponds to the JSON property `deviceEnrollmentId` # @return [String] attr_accessor :device_enrollment_id # Device permanent id is returned in this field (for the machine response only). # Corresponds to the JSON property `devicePermanentId` # @return [String] attr_accessor :device_permanent_id # Certificate Signing Request (in the SPKAC format, base64 encoded) is returned # in this field. This field will be set only if device has included CSR in its # challenge response. (the option to include CSR is now available for both user # and machine responses) # Corresponds to the JSON property `signedPublicKeyAndChallenge` # @return [String] attr_accessor :signed_public_key_and_challenge # For EMCert check, device permanent id is returned here. For EUCert check, # signed_public_key_and_challenge [base64 encoded] is returned if present, # otherwise empty string is returned. This field is deprecated, please use # device_permanent_id or signed_public_key_and_challenge fields. # Corresponds to the JSON property `verificationOutput` # @return [String] attr_accessor :verification_output def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @device_enrollment_id = args[:device_enrollment_id] if args.key?(:device_enrollment_id) @device_permanent_id = args[:device_permanent_id] if args.key?(:device_permanent_id) @signed_public_key_and_challenge = args[:signed_public_key_and_challenge] if args.key?(:signed_public_key_and_challenge) @verification_output = args[:verification_output] if args.key?(:verification_output) end end end end end