語言

IKey 介面

定義

金鑰介面是所有金鑰的頂層介面。

[Android.Runtime.Register("java/security/Key", "", "Java.Security.IKeyInvoker")]
public interface IKey : IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/security/Key", "", "Java.Security.IKeyInvoker")>]
type IKey = interface
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
衍生
屬性
實作

備註

金鑰介面是所有金鑰的頂層介面。 它定義了所有關鍵物件共享的功能。 所有按鍵都有三個特性:

<UL>

<LI>一個演算法

這是該金鑰的關鍵演算法。 金鑰演算法通常是加密或非對稱運算演算法(如 DSA 或 RSA),可與這些演算法及相關演算法(如 MD5 搭配 RSA、SHA-1 搭配 RSA、Raw DSA 等)運作。金鑰演算法名稱即透過該 #getAlgorithm() getAlgorithm 方法取得。

<LI>編碼形式

這是一種外部編碼的形式,用於在 Java 虛擬機外需要標準金鑰表示時使用,例如將金鑰傳送給他人時。 金鑰依標準格式編碼(例如 X.509 SubjectPublicKeyInfo 或 PKCS#8),並以此 #getEncoded() getEncoded 方法回傳。 注意:ASN.1 類型的 SubjectPublicKeyInfo 語法定義如下:

SubjectPublicKeyInfo ::= SEQUENCE {
              algorithm AlgorithmIdentifier,
              subjectPublicKey BIT STRING }

            AlgorithmIdentifier ::= SEQUENCE {
              algorithm OBJECT IDENTIFIER,
              parameters ANY DEFINED BY algorithm OPTIONAL }

欲了解更多資訊,請參閱 RFC 5280:Internet X.509 公鑰基礎設施憑證與 CRL 設定檔

<LI>A 格式

這是編碼金鑰格式的名稱。 它會由方法回傳 #getFormat() getFormat

</UL>

金鑰通常透過金鑰產生器、憑證、金鑰儲存或其他用於管理金鑰的類別取得。 金鑰也可透過金鑰工廠(參見 KeyFactory)從金鑰規格(底層金鑰材料的透明表示)中取得。

一個 Key 應該使用 KeyRep 作為其序列化的表示。 請注意,序列化金鑰可能包含敏感資訊,不應在不受信任的環境中外洩。 更多資訊請參閱序列化規範 的安全附錄

在 1.1 版本中加入。

Java 文件 java.security.Key

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

欄位

名稱 Description
SerialVersionUID

類別指紋設定為表示序列化相容性,與先前版本的類別。

屬性

名稱 Description
Algorithm

回傳此鍵的演算法名稱。

Format

回傳用於編碼此金鑰的格式名稱,或 null 若無法編碼則回傳格式名稱。

Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

金鑰介面是所有金鑰的頂層介面。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
GetEncoded()

回傳金鑰的主要編碼格式,若該金鑰不支援編碼則回傳為空。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

金鑰介面是所有金鑰的頂層介面。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference

(繼承來源 IJavaPeerable)
UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

金鑰介面是所有金鑰的頂層介面。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用於