168 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2020 Google LLC
 | |
| #
 | |
| # 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
 |