03eccd4799
This patch adds SHA256 key management definition to be able to use more robust algorithm. Test: Build with dependent CLs Bug: 68787540 Signed-off-by: Daichi Ueura <daichi.ueura@sony.com> Change-Id: I2233b9cb04488f6703f8fc3e6bb3a9188ed53ddc (cherry-picked from commit 1a431a9e7c3ace89aabc738d9a19de2bb2aa57a5
268 lines
9.5 KiB
Text
268 lines
9.5 KiB
Text
/*
|
|
* Copyright 2018 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.wifi.supplicant@1.2;
|
|
|
|
import @1.0::ISupplicantStaNetworkCallback;
|
|
import @1.0::ISupplicantStaNetwork;
|
|
import @1.0::SupplicantStatus;
|
|
import @1.1::ISupplicantStaNetwork;
|
|
|
|
/**
|
|
* Interface exposed by the supplicant for each station mode network
|
|
* configuration it controls.
|
|
*/
|
|
interface ISupplicantStaNetwork extends @1.1::ISupplicantStaNetwork {
|
|
/** Possble mask of values for KeyMgmt param. */
|
|
enum KeyMgmtMask : @1.0::ISupplicantStaNetwork.KeyMgmtMask {
|
|
/** WPA using EAP authentication with stronger SHA256-based algorithms */
|
|
WPA_EAP_SHA256 = 1 << 7,
|
|
|
|
/** WPA pre-shared key with stronger SHA256-based algorithms */
|
|
WPA_PSK_SHA256 = 1 << 8,
|
|
|
|
/** WPA3-Personal SAE Key management */
|
|
SAE = 1 << 10,
|
|
|
|
/** WPA3-Enterprise Suite-B Key management */
|
|
SUITE_B_192 = 1 << 17,
|
|
|
|
/** Enhacned Open (OWE) Key management */
|
|
OWE = 1 << 22,
|
|
|
|
/** Easy Connect (DPP) Key management */
|
|
DPP = 1 << 23,
|
|
};
|
|
|
|
/** Possble mask of values for PairwiseCipher param. */
|
|
enum PairwiseCipherMask : @1.0::ISupplicantStaNetwork.PairwiseCipherMask {
|
|
/** GCMP-256 Pairwise Cipher */
|
|
GCMP_256 = 1 << 8,
|
|
};
|
|
|
|
/** Possble mask of values for GroupCipher param. */
|
|
enum GroupCipherMask : @1.0::ISupplicantStaNetwork.GroupCipherMask {
|
|
/** GCMP-256 Group Cipher */
|
|
GCMP_256 = 1 << 8,
|
|
};
|
|
|
|
/** Possble mask of values for GroupMgmtCipher param. */
|
|
enum GroupMgmtCipherMask : uint32_t {
|
|
/** BIP_GMAC-128 Group Management Cipher */
|
|
BIP_GMAC_128 = 1 << 11,
|
|
|
|
/** BIP_GMAC-256 Group Management Cipher */
|
|
BIP_GMAC_256 = 1 << 12,
|
|
|
|
/** BIP_CMAC-256 Group Management Cipher */
|
|
BIP_CMAC_256 = 1 << 13,
|
|
};
|
|
|
|
/**
|
|
* Set key management mask for the network.
|
|
*
|
|
* @param keyMgmtMask value to set.
|
|
* Combination of |KeyMgmtMask| values.
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setKeyMgmt_1_2(bitfield<KeyMgmtMask> keyMgmtMask) generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Get the key mgmt mask set for the network.
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
* @return keyMgmtMask Combination of |KeyMgmtMask| values.
|
|
*/
|
|
getKeyMgmt_1_2()
|
|
generates (SupplicantStatus status, bitfield<KeyMgmtMask> keyMgmtMask);
|
|
|
|
/**
|
|
* Set pairwise cipher mask for the network.
|
|
*
|
|
* @param pairwiseCipherMask value to set.
|
|
* Combination of |PairwiseCipherMask| values.
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setPairwiseCipher_1_2(bitfield<PairwiseCipherMask> pairwiseCipherMask)
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Get the pairwise cipher mask set for the network.
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
* @return pairwiseCipherMask Combination of |PairwiseCipherMask| values.
|
|
*/
|
|
getPairwiseCipher_1_2()
|
|
generates (SupplicantStatus status,
|
|
bitfield<PairwiseCipherMask> pairwiseCipherMask);
|
|
|
|
/**
|
|
* Set group cipher mask for the network.
|
|
*
|
|
* @param groupCipherMask value to set.
|
|
* Combination of |GroupCipherMask| values.
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setGroupCipher_1_2(bitfield<GroupCipherMask> groupCipherMask)
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Get the group cipher mask set for the network.
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
* @return groupCipherMask Combination of |GroupCipherMask| values.
|
|
*/
|
|
getGroupCipher_1_2()
|
|
generates (SupplicantStatus status,
|
|
bitfield<GroupCipherMask> groupCipherMask);
|
|
|
|
/**
|
|
* Set group management cipher mask for the network.
|
|
*
|
|
* @param groupMgmtCipherMask value to set.
|
|
* Combination of |GroupMgmtCipherMask| values.
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setGroupMgmtCipher(bitfield<GroupMgmtCipherMask> groupMgmtCipherMask)
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Get the group management cipher mask set for the network.
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
* @return groupMgmtCipherMask Combination of |GroupMgmtCipherMask| values.
|
|
*/
|
|
getGroupMgmtCipher()
|
|
generates (SupplicantStatus status,
|
|
bitfield<GroupMgmtCipherMask> groupMgmtCipherMask);
|
|
|
|
/**
|
|
* Enable TLS Suite-B in EAP Phase1
|
|
*
|
|
* @param enable Set to true to enable TLS Suite-B in EAP phase1
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
enableTlsSuiteBEapPhase1Param(bool enable)
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Set EAP OpenSSL Suite-B-192 ciphers for WPA3-Enterprise
|
|
* Supported option:
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
enableSuiteBEapOpenSslCiphers()
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Get SAE password for WPA3-Personal
|
|
*
|
|
* @return status Status of the operation, and a string.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
getSaePassword()
|
|
generates (SupplicantStatus status, string saePassword);
|
|
|
|
/**
|
|
* Get SAE password ID for WPA3-Personal
|
|
*
|
|
* @return status Status of the operation, and a string.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
getSaePasswordId()
|
|
generates (SupplicantStatus status, string saePasswordId);
|
|
|
|
/**
|
|
* Set SAE password for WPA3-Personal
|
|
*
|
|
* @param saePassword string with the above option
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setSaePassword(string saePassword)
|
|
generates (SupplicantStatus status);
|
|
|
|
/**
|
|
* Set SAE password ID for WPA3-Personal
|
|
*
|
|
* @param sae_password_id string with the above option
|
|
*
|
|
* @return status Status of the operation.
|
|
* Possible status codes:
|
|
* |SupplicantStatusCode.SUCCESS|,
|
|
* |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
|
|
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
|
|
* |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
|
|
*/
|
|
setSaePasswordId(string saePasswordId)
|
|
generates (SupplicantStatus status);
|
|
};
|