語言

KeyInfo 類別

定義

關於 Android Keystore 系統中金鑰的資訊。

[Android.Runtime.Register("android/security/keystore/KeyInfo", ApiSince=23, DoNotGenerateAcw=true)]
public class KeyInfo : Java.Lang.Object, IDisposable, Java.Security.Spec.IKeySpec
[<Android.Runtime.Register("android/security/keystore/KeyInfo", ApiSince=23, DoNotGenerateAcw=true)>]
type KeyInfo = class
    inherit Object
    interface IKeySpec
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
屬性
實作

備註

關於 Android Keystore 系統中金鑰的資訊。 此類別描述金鑰材料是否可在安全硬體之外以明文形式取得,使用金鑰是否需要使用者驗證,且此要求是否由安全硬體強制執行,金鑰來源、金鑰被授權使用方式(例如僅在 GCM 模式中或僅簽署)、金鑰是否應在靜態時加密, 鑰匙以及有效期的開始與結束日期。

此類別的實例是不可變的。

<h3>範例:對稱金鑰</h3> 以下範例說明如何取得 KeyInfo 描述所提供 Android 金鑰庫 SecretKey的 。

{@code
            SecretKey key = ...; // Android Keystore key

            SecretKeyFactory factory = SecretKeyFactory.getInstance(key.getAlgorithm(), "AndroidKeyStore");
            KeyInfo keyInfo;
            try {
                keyInfo = (KeyInfo) factory.getKeySpec(key, KeyInfo.class);
            } catch (InvalidKeySpecException e) {
                // Not an Android KeyStore key.
            }}

<h3>範例:私鑰</h3> 以下範例說明如何取得 KeyInfo 描述所提供 Android KeyStore PrivateKey的 。

{@code
            PrivateKey key = ...; // Android KeyStore key

            KeyFactory factory = KeyFactory.getInstance(key.getAlgorithm(), "AndroidKeyStore");
            KeyInfo keyInfo;
            try {
                keyInfo = factory.getKeySpec(key, KeyInfo.class);
            } catch (InvalidKeySpecException e) {
                // Not an Android KeyStore key.
            }}

Java 文件 android.security.keystore.KeyInfo。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
KeyInfo(IntPtr, JniHandleOwnership)

關於 Android Keystore 系統中金鑰的資訊。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
IsInsideSecureHardware

true如果金鑰位於安全硬體中(例如,

IsInvalidatedByBiometricEnrollment

若鑰匙因登記新指紋或移除所有指紋而失效,則可退還 true 。

IsTrustedUserPresenceRequired

如果該金鑰只能在簽名後成功測試使用者在場時才使用,則回傳 true 。

IsUnlockedDeviceRequired

若鑰匙被授權只能在裝置解鎖時使用,則會退貨 true 。

IsUserAuthenticationRequired

若金鑰被授權僅在使用者已認證時使用,則會回傳 true 。

IsUserAuthenticationRequirementEnforcedBySecureHardware

true若安全硬體(例如:

IsUserAuthenticationValidWhileOnBody

如果該金鑰在裝置從使用者體內移除後無法使用,則會回傳 true 。

IsUserConfirmationRequired

若金鑰被授權僅用於使用者確認的訊息,則會回傳 true 。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
JniPeerMembers

關於 Android Keystore 系統中金鑰的資訊。

KeySize

它會以位元計算金鑰的大小。

KeystoreAlias

取得將金鑰存放在 AndroidKeyStore.

KeyValidityForConsumptionEnd

取得時間瞬間,之後金鑰不再有效,無法進行解密和驗證。

KeyValidityForOriginationEnd

會立即獲得該金鑰不再有效用於加密和簽署的時間。

KeyValidityStart

取得金鑰尚未有效的時間。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Purposes

獲得目的集合(例如:

RemainingUsageCount

回傳該金鑰允許使用的剩餘次數,或 KeyProperties#UNRESTRICTED_USAGE_COUNT 若對金鑰使用次數沒有限制。

SecurityLevel

回傳金鑰所受保護的安全等級。

ThresholdClass

關於 Android Keystore 系統中金鑰的資訊。

ThresholdType

關於 Android Keystore 系統中金鑰的資訊。

UserAuthenticationType

取得可授權使用此金鑰的使用者驗證類型。

UserAuthenticationValidityDurationSeconds

取得使用者成功認證後,該金鑰被授權使用的時間(秒數)。

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
Equals(Object)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetBlockModes()

得到區塊模式集合(例如

GetDigests()

取得一組摘要演算法(例如

GetEncryptionPaddings()

得到一組填充方案(例如:

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetSignaturePaddings()

得到一組填充方案(例如:

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

關於 Android Keystore 系統中金鑰的資訊。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

關於 Android Keystore 系統中金鑰的資訊。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

關於 Android Keystore 系統中金鑰的資訊。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於