Add callback to the supplicant interface to allow
supplicant to retrieve non-standard certificates from the client. Bug: 205764502 Test: mm -j Change-Id: Ia14d684e609c6e65229888a4f27d7c1f5af97f24
This commit is contained in:
parent
2501474978
commit
ba65bbe8a4
4 changed files with 87 additions and 0 deletions
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Copyright (C) 2022 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.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.hardware.wifi.supplicant;
|
||||
@VintfStability
|
||||
interface INonStandardCertCallback {
|
||||
byte[] getBlob(in String alias);
|
||||
}
|
|
@ -47,5 +47,6 @@ interface ISupplicant {
|
|||
void setConcurrencyPriority(in android.hardware.wifi.supplicant.IfaceType type);
|
||||
void setDebugParams(in android.hardware.wifi.supplicant.DebugLevel level, in boolean showTimestamp, in boolean showKeys);
|
||||
oneway void terminate();
|
||||
void registerNonStandardCertCallback(in android.hardware.wifi.supplicant.INonStandardCertCallback callback);
|
||||
const int EXT_RADIO_WORK_TIMEOUT_IN_SECS = 10;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright (C) 2022 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;
|
||||
|
||||
/**
|
||||
* Callback to allow supplicant to retrieve non-standard certificate types
|
||||
* from the client.
|
||||
*
|
||||
* Must be registered by the client at initialization, so that
|
||||
* supplicant can call into the client to retrieve any values.
|
||||
*/
|
||||
@VintfStability
|
||||
interface INonStandardCertCallback {
|
||||
/**
|
||||
* Requests a binary blob from the certificate key-value store.
|
||||
*
|
||||
* @param alias Key into the key-value mapping.
|
||||
* @return Value associated with |alias| in the certificate store.
|
||||
* @throws ServiceSpecificException with one of the following values:
|
||||
* |SupplicantStatusCode.FAILURE_UNKNOWN|
|
||||
*/
|
||||
byte[] getBlob(in String alias);
|
||||
}
|
|
@ -17,6 +17,7 @@
|
|||
package android.hardware.wifi.supplicant;
|
||||
|
||||
import android.hardware.wifi.supplicant.DebugLevel;
|
||||
import android.hardware.wifi.supplicant.INonStandardCertCallback;
|
||||
import android.hardware.wifi.supplicant.ISupplicantCallback;
|
||||
import android.hardware.wifi.supplicant.ISupplicantP2pIface;
|
||||
import android.hardware.wifi.supplicant.ISupplicantStaIface;
|
||||
|
@ -158,4 +159,14 @@ interface ISupplicant {
|
|||
* wait to be restarted.
|
||||
*/
|
||||
oneway void terminate();
|
||||
|
||||
/**
|
||||
* Register a Non-Standard Certificate callback with supplicant.
|
||||
*
|
||||
* @param callback An instance of the |INonStandardCertCallback| AIDL interface
|
||||
* object.
|
||||
* @throws ServiceSpecificException with one of the following values:
|
||||
* |SupplicantStatusCode.FAILURE_UNKNOWN|
|
||||
*/
|
||||
void registerNonStandardCertCallback(in INonStandardCertCallback callback);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue