1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// The messages in this file comprise the DBus/Proto interface for
// Cryptohome where there is an AccountIdentifier argument, an
// AuthorizationRequest (if needed for the call), and the call's
// parameters as <Call>Request.
//
// 'optional' annotations are used heavily in the RPC definition
// because the RPC endpoints most properly sanity check the contents
// for application-specific logic, and the more optional-with-default
// parameters exist, the less data is actually transferred on the wire
// in "default" situations.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package cryptohome;
option go_package = "go.chromium.org/chromiumos/system_api/cryptohome_proto";
import "key.proto";
message AccountIdentifier {
// |email| is deprecated. Don't use it.
optional string email = 1;
optional string account_id = 2;
}
// Parameters for connecting and making requests to a key delegate service.
// This is currently used for making challenge requests for keys of the
// |KEY_TYPE_CHALLENGE_RESPONSE| type.
message KeyDelegate {
// D-Bus service name of the key delegate service that exports the key
// delegate object.
optional string dbus_service_name = 1;
// D-Bus object path of the key delegate object that implements the
// org.chromium.CryptohomeKeyDelegateInterface interface.
optional string dbus_object_path = 2;
}
// Flags for GetFirmwareManagementParametersReply and
// SetFirmwareManagementParametersRequest
enum FirmwareManagementParametersFlags {
NONE = 0;
DEVELOPER_DISABLE_BOOT = 1;
DEVELOPER_DISABLE_RECOVERY_INSTALL = 2;
DEVELOPER_DISABLE_RECOVERY_ROOTFS = 4;
DEVELOPER_ENABLE_USB = 8;
DEVELOPER_ENABLE_LEGACY = 16;
DEVELOPER_USE_KEY_HASH = 32;
DEVELOPER_DISABLE_CASE_CLOSED_DEBUGGING_UNLOCK = 64;
}
// Request parameters for challenge requests for keys of the
// |KEY_TYPE_CHALLENGE_RESPONSE| type.
message KeyChallengeRequest {
// Specifies challenge types.
enum ChallengeType {
// Challenge is a request of a cryptographic signature of the specified data
// using the specified key.
CHALLENGE_TYPE_SIGNATURE = 1;
}
// Type of the requested challenge.
optional ChallengeType challenge_type = 1;
// Is set when |challenge_type| is |CHALLENGE_TYPE_SIGNATURE|. Contains the
// challenge request data.
optional SignatureKeyChallengeRequestData signature_request_data = 2;
}
// Request data for challenge requests of the |CHALLENGE_TYPE_SIGNATURE| request
// type.
message SignatureKeyChallengeRequestData {
// The blob of data for which the signature is asked.
optional bytes data_to_sign = 1;
// Specifies the key which is asked to sign the data. Contains the DER-encoded
// blob of the X.509 Subject Public Key Info.
optional bytes public_key_spki_der = 2;
// Specifies the signature algorithm that has to be used.
optional ChallengeSignatureAlgorithm signature_algorithm = 3;
}
// Response for challenge requests.
message KeyChallengeResponse {
// Is set for responses to challenge requests of the
// |CHALLENGE_TYPE_SIGNATURE| challenge type. Contains the challenge response
// data.
optional SignatureKeyChallengeResponseData signature_response_data = 1;
}
// Response data for challenge requests of the |CHALLENGE_TYPE_SIGNATURE|
// challenge type.
message SignatureKeyChallengeResponseData {
// The signature blob of the requested data.
optional bytes signature = 1;
}
|