Signature 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
Signature 类用于提供数字签名算法的功能。
[Android.Runtime.Register("java/security/Signature", DoNotGenerateAcw=true)]
public abstract class Signature : Java.Security.SignatureSpi
[<Android.Runtime.Register("java/security/Signature", DoNotGenerateAcw=true)>]
type Signature = class
inherit SignatureSpi
- 继承
- 属性
注解
Signature 类用于提供数字签名算法的功能。 数字签名用于对数字数据的身份验证和完整性保证。
签名算法可以是使用 DSA 和 SHA-1 的 NIST 标准 DSA 等。 可以使用 SHA-1 消息摘要算法的 DSA 算法指定为 SHA1withDSA
。 对于 RSA,消息摘要算法有多种选择,因此可以指定签名算法,例如 MD2withRSA
, MD5withRSA
或 SHA1withRSA
。 必须指定算法名称,因为没有默认值。
Signature 对象可用于生成和验证数字签名。
使用 Signature 对象进行签名数据或验证 signature:<ol 有三个阶段>
<li>初始化,使用任一
<ul>
<li>一个公钥,用于初始化用于验证的签名(请参阅 #initVerify(PublicKey) initVerify
),或
<li>a private key (and optionally a Secure Random Number Generator),用于初始化签名的签名(请参阅 #initSign(PrivateKey)
和 #initSign(PrivateKey, SecureRandom)
)。
</ul>
<li>updateing
根据初始化的类型,这将更新要签名或验证的字节。 请参阅方法 #update(byte) update
。
<li>签名或验证所有已更新字节的签名。 #sign() sign
请参阅方法和#verify(byte[]) verify
方法。
</老>
请注意,此类是抽象的,出于历史原因而 SignatureSpi
扩展。 应用程序开发人员应只注意此类 Signature
中定义的方法;超级类中的所有方法都适用于希望提供自己的数字签名算法实现的加密服务提供商。
Android 提供以下Signature
算法:<表><thead<>tr><th>Algorithm</th supported API Levels</<>>th></tr></thead><tbody<>><td>DSA</td td>1+/td<<>>/><><tr td>DSAwithSHA1</<>td 1+<</td></tr<>tr class=“deprecated”<>td>>DSS</td td>><1-19</td/tr><><td><> ECDSA</td><td>11+</td<>/tr<><>td>ECDSAwithSHA1</td td><>11+</td></tr><tr class=“deprecated”><td>MD2withRSA</td td><>1-3</td<>/tr<>tr class=“deprecated”<>td>MD4withRSA/<td td>1-8</td></tr<>tr<>td>MD5withRSA</td td><1+</td><>/tr><tr class=“deprecated”<>td>MD5withRSA/ISO9796-2</td><>1-8</td<>/tr<>tr<>td>NONEwithDSA</td<>td 1+</td<>/tr><tr<>td>><>NONEwithECDSA</td><td 11+</td></tr><<>td>>NONEwithRSA</td<>td 17+</td<>>/tr<>tr class=“deprecated”<>td>RSASSA-PSS</><td td>1-8</td<>/tr<>tr><td>SHA1withDSA</td td>1+</td<>></tr><tr><td>SHA1withECDSA</td><td>11+</td></tr<>tr<>td>SHA1withRSA</td><td 1+</td<>>/tr><tr class=“deprecated”<>td>SHA1withRSA/ISO9796-2</td td<>>1-8</td></tr><tr><td>SHA1withRSA/PSS</td td<>23+</td>></tr><tr>td>SHA224withDSA</td><td>20+</td></tr><<>td>SHA224withECDSA/td<>td>20+</td></><><tr td>SHA224withRSA/><td td>20+</td></tr<<>>td>SHA224withRSA<</PSS</td td 23+</td/<><>><tr tr>><<td>SHA256withDSA</td><td 1+</td><>/tr><><td>SHA256withECDSA/td><td>11+/td></<<>>tr td>SHA256withRSA/<>td td>1+<</td<>/tr><<>td>SHA256withRSA<</PSS</td td 23+</td>><></tr><tr><td>SHA384withECDSA</td td><11+</td>></tr<>tr<>td>SHA384withRSA/td td 1+/td<>>></<<>>tr td>SHA384withRSA</PSS</><td td>23+<</td></tr<>tr><td>SHA512withECDSA</td td td><>11+</td<>/tr>><<td>SHA512withRSA</td><td>1+</td<>/tr<>tr><td>SHA512withRSA/PSS</td<>td td 23+</td<>>/tr<>/tbody></table>
Java 加密体系结构标准算法名称文档的“签名”部分介绍了这些算法。
适用于 . 的 java.security.Signature
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
Signature(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
Signature(String) |
为指定的算法创建 Signature 对象。 |
字段
Uninitialized |
已过时.
可能 |
属性
Algorithm |
返回此签名对象的算法的名称。 |
AppRandom |
应用程序指定的随机源。 (继承自 SignatureSpi) |
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
JniPeerMembers |
Signature 类用于提供数字签名算法的功能。 |
Parameters |
返回用于此签名对象的参数。 |
PeerReference |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
Provider |
返回此签名对象的提供程序。 |
State |
此签名对象的当前状态。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
Clone() |
如果实现可克隆,则返回克隆。 (继承自 SignatureSpi) |
Dispose() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
Dispose(Boolean) |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
EngineGetParameter(String) |
已过时.
获取指定算法参数的值。 (继承自 SignatureSpi) |
EngineGetParameters() |
提供程序重写此方法以返回用于此签名引擎的参数;如果此签名引擎不使用任何参数,则为 null。 (继承自 SignatureSpi) |
EngineInitSign(IPrivateKey) |
使用指定的私钥初始化此签名对象,以便进行签名操作。 (继承自 SignatureSpi) |
EngineInitSign(IPrivateKey, SecureRandom) |
使用指定的私钥和随机性源初始化此签名对象,以便对操作进行签名。 (继承自 SignatureSpi) |
EngineInitVerify(IPublicKey) |
使用指定的公钥初始化此签名对象以执行验证操作。 (继承自 SignatureSpi) |
EngineSetParameter(IAlgorithmParameterSpec) |
此方法由提供程序重写,以使用指定的参数集初始化此签名引擎。 (继承自 SignatureSpi) |
EngineSetParameter(String, Object) |
已过时.
将指定的算法参数设置为指定的值。 (继承自 SignatureSpi) |
EngineSign() |
返回到目前为止更新的所有数据的签名字节。 (继承自 SignatureSpi) |
EngineSign(Byte[], Int32, Int32) |
完成此签名操作,并将生成的签名字节存储在提供的缓冲区 |
EngineUpdate(Byte[], Int32, Int32) |
使用指定的字节数组更新要签名或验证的数据,从指定的偏移量开始。 (继承自 SignatureSpi) |
EngineUpdate(ByteBuffer) |
使用指定的 ByteBuffer 更新要签名或验证的数据。 (继承自 SignatureSpi) |
EngineUpdate(SByte) |
使用指定的字节更新要签名或验证的数据。 (继承自 SignatureSpi) |
EngineVerify(Byte[]) |
验证传入签名。 (继承自 SignatureSpi) |
EngineVerify(Byte[], Int32, Int32) |
从指定的偏移量开始,验证指定字节数组中的传入签名。 (继承自 SignatureSpi) |
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
GetInstance(String) |
返回实现指定签名算法的 Signature 对象。 |
GetInstance(String, Provider) |
返回实现指定签名算法的 Signature 对象。 |
GetInstance(String, String) |
返回实现指定签名算法的 Signature 对象。 |
GetParameter(String) |
已过时.
获取指定算法参数的值。 |
InitSign(IPrivateKey) |
初始化此对象进行签名。 |
InitSign(IPrivateKey, SecureRandom) |
初始化此对象进行签名。 |
InitVerify(Certificate) |
使用给定证书中的公钥初始化此对象进行验证。 |
InitVerify(IPublicKey) |
初始化此对象进行验证。 |
JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
SetParameter(IAlgorithmParameterSpec) |
使用指定的参数集初始化此签名引擎。 |
SetParameter(String, Object) |
已过时.
将指定的算法参数设置为指定的值。 |
Sign() |
返回更新的所有数据的签名字节。 |
Sign(Byte[], Int32, Int32) |
完成签名操作,并将生成的签名字节存储在提供的缓冲区 |
ToArray<T>() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
Update(Byte[]) |
使用指定的字节数组更新要签名或验证的数据。 |
Update(Byte[], Int32, Int32) |
使用指定的字节数组更新要签名或验证的数据,从指定的偏移量开始。 |
Update(ByteBuffer) |
使用指定的 ByteBuffer 更新要签名或验证的数据。 |
Update(SByte) |
更新要由字节签名或验证的数据。 |
Verify(Byte[]) |
验证传入签名。 |
Verify(Byte[], Int32, Int32) |
从指定的偏移量开始,验证指定字节数组中的传入签名。 |
Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.Finalized() |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.JniManagedPeerState |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Signature 类用于提供数字签名算法的功能。 (继承自 Object) |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
Signature 类用于提供数字签名算法的功能。 |
GetJniTypeName(IJavaPeerable) |
Signature 类用于提供数字签名算法的功能。 |