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 |