// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

syntax = "proto2";

package certificate_reporting;

// Chrome requires this.
option optimize_for = LITE_RUNTIME;

// This protobuffer is intended to store an encrypted report of an
// invalid certificate chain.
message EncryptedCertLoggerRequest {
  // An encrypted, serialized CertLoggerRequest
  required bytes encrypted_report = 1;
  // The server public key version that was used to derive the shared secret.
  required uint32 server_public_key_version = 2;
  // The client public key that corresponds to the private key that was used
  // to derive the shared secret.
  required bytes client_public_key = 3;
  // The encryption algorithm used to encrypt the report.
  enum Algorithm {
    UNKNOWN_ALGORITHM = 0;
    AEAD_ECDH_AES_128_CTR_HMAC_SHA256 = 1;
  }
  optional Algorithm algorithm = 4
      [default = AEAD_ECDH_AES_128_CTR_HMAC_SHA256];
};