KeyChain Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The KeyChain
class provides access to private keys and
their corresponding certificate chains in credential storage.
[Android.Runtime.Register("android/security/KeyChain", DoNotGenerateAcw=true)]
public sealed class KeyChain : Java.Lang.Object
[<Android.Runtime.Register("android/security/KeyChain", DoNotGenerateAcw=true)>]
type KeyChain = class
inherit Object
- Inheritance
- Attributes
Remarks
The KeyChain
class provides access to private keys and their corresponding certificate chains in credential storage.
Applications accessing the KeyChain
normally go through these steps:
<ol>
<li>Receive a callback from an javax.net.ssl.X509KeyManager X509KeyManager
that a private key is requested.
<li>Call #choosePrivateKeyAlias choosePrivateKeyAlias
to allow the user to select from a list of currently available private keys and corresponding certificate chains. The chosen alias will be returned by the callback KeyChainAliasCallback#alias
, or null if no private key is available or the user cancels the request.
<li>Call #getPrivateKey
and #getCertificateChain
to retrieve the credentials to return to the corresponding javax.net.ssl.X509KeyManager
callbacks.
</ol>
An application may remember the value of a selected alias to avoid prompting the user with #choosePrivateKeyAlias choosePrivateKeyAlias
on subsequent connections. If the alias is no longer valid, null will be returned on lookups using that value
An application can request the installation of private keys and certificates via the Intent
provided by #createInstallIntent
. Private keys installed via this Intent
will be accessible via #choosePrivateKeyAlias
while Certificate Authority (CA) certificates will be trusted by all applications through the default X509TrustManager
.
Java documentation for android.security.KeyChain
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
KeyChain() |
Fields
ActionKeyAccessChanged |
Broadcast Action: Indicates that the access permissions for a private key have changed. |
ActionKeychainChanged |
Broadcast Action: Indicates the contents of the keychain has changed. |
ActionStorageChanged |
Broadcast Action: Indicates the trusted storage has changed. |
ActionTrustStoreChanged |
Broadcast Action: Indicates the contents of the trusted certificate store has changed. |
ExtraCertificate |
Optional extra to specify an X. |
ExtraKeyAccessible |
Used as a boolean extra field in |
ExtraKeyAlias |
Used as a String extra field in |
ExtraName |
Optional extra to specify a |
ExtraPkcs12 |
Optional extra for use with the |
KeyAliasSelectionDenied |
Used by DPC or delegated app in
|
Properties
Class |
Returns the runtime class of this |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
PeerReference | (Inherited from Object) |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. (Inherited from Object) |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. (Inherited from Object) |
Methods
ChoosePrivateKeyAlias(Activity, IKeyChainAliasCallback, String[], IPrincipal[], String, Int32, String) |
Launches an |
ChoosePrivateKeyAlias(Activity, IKeyChainAliasCallback, String[], IPrincipal[], Uri, String) |
Launches an |
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
CreateInstallIntent() |
Returns an |
CreateManageCredentialsIntent(AppUriAuthenticationPolicy) |
Returns an |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetCertificateChain(Context, String) |
Returns the |
GetCredentialManagementAppPolicy(Context) |
Called by the credential management app to get the authentication policy
|
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetPrivateKey(Context, String) |
Returns the |
IsBoundKeyAlgorithm(String) |
Returns |
IsCredentialManagementApp(Context) |
Check whether the caller is the credential management app |
IsKeyAlgorithmSupported(String) |
Returns |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
RemoveCredentialManagementApp(Context) |
Called by the credential management app |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |