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),它将与这些算法以及相关算法(例如具有 RSA 的 MD5、具有 RSA 的 SHA-1、原始 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)。

密钥应使用 KeyRep 作为其序列化表示形式。 请注意,序列化密钥可能包含不应在不受信任的环境中公开的敏感信息。 有关详细信息,请参阅序列化规范 的安全附录

在 1.1 中添加。

Java文档java.security.Key

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

字段

名称 说明
SerialVersionUID

设置为指示与类早期版本的序列化兼容性的类指纹。

属性

名称 说明
Algorithm

返回此密钥的算法的名称。

Format

返回用于对此密钥进行编码的格式的名称,或者 null 无法对其进行编码。

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回JniObjectReference包装的Java对象实例。

(继承自 IJavaPeerable)

方法

名称 说明
Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
GetEncoded()

返回其主要编码格式的键,如果此键不支持编码,则返回 null。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

密钥接口是所有键的顶级接口。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
UnregisterFromRuntime()

取消注册此实例,使运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

密钥接口是所有键的顶级接口。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于