Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create ExternalCertificateProvider.aidl #81

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// ExternalCertificateProvider.aidl
package de.blinkt.openvpn.api;


/*
* This is very simple interface that is specialised to have only the minimal set of crypto
* operation that are needed for OpenVPN to authenticate with an external certificate
*/
interface ExternalCertificateProvider {
/**
* Requests signing the data with RSA/ECB/PKCS1PADDING
* for RSA certficate and with NONEwithECDSA for EC certificates
* @parm alias the parameter that
*/
byte[] getSignedData(in String alias, in byte[] data);

/**
* Requests the certificate chain for the selected alias
* The first certifcate returned is assumed to be
* the user certificate
*/
byte[] getCertificateChain(in String alias);

/**
* This function is called for the app to get additional meta information from the
* external provider and will be called with the stored alias in the app
*
* For external app provider that do not provide an activity to configure them, this
* is used to get the alias that should be used.
* The format is the same as the activity should return, i.e.
*
* EXTRA_ALIAS = "de.blinkt.openvpn.api.KEY_ALIAS"
* EXTRA_DESCRIPTION = "de.blinkt.openvpn.api.KEY_DESCRIPTION"
*
* as the keys for the bundle.
*
*/
Bundle getCertificateMetaData(in String alias);
}