blob: f38134bc10d092bf59e963c11884a1522f7fa21f [file] [log] [blame]
/*
* Copyright 2020 The Android Open Source Project
*
* 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.
*/
package android.hardware.identity;
/**
* Cipher suites that can be used for communication between holder and reader devices.
*/
@VintfStability
@Backing(type="int")
enum CipherSuite {
/**
* Specifies that the cipher suite that will be used to secure communications between the reader
* and the prover is using the following primitives
*
* - ECKA-DH (Elliptic Curve Key Agreement Algorithm - Diffie-Hellman, see BSI TR-03111)
* - HKDF-SHA-256 (see RFC 5869)
* - AES-256-GCM (see NIST SP 800-38D)
* - HMAC-SHA-256 (see RFC 2104)
*
* The exact way these primitives are combined to derive the session key is specified in
* section 9.2.1.4 of ISO/IEC 18013-5 (see description of cipher suite '1').
*
* At present this is the only supported cipher suite and it is mandatory for all
* implementations to support it.
*/
CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256 = 1,
}