©
Ce document utilise Manuel du site Web PHP chinois Libérer
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.security.SignatureSpi
public abstract class SignatureSpi
此类为 Signature
类定义了服务提供者接口 (SPI),可用来提供数字签名算法功能。数字签名用来保证数字数据的真实性和完整性。
此类中的所有抽象方法都必须由每个想要提供实现特定签名算法的加密服务提供者实现。
Signature
字段摘要 | |
---|---|
protected SecureRandom |
appRandom
应用程序指定的随机源。 |
构造方法摘要 | |
---|---|
SignatureSpi()
|
方法摘要 | |
---|---|
Object |
clone()
如果此实现可以复制,则返回一个副本。 |
protected abstract Object |
engineGetParameter(String param)
已过时。 |
protected AlgorithmParameters |
engineGetParameters()
此方法将由提供者重写,以返回与此签名引擎配合使用的参数,如果此签名引擎未使用任何参数,则返回 null。 |
protected abstract void |
engineInitSign(PrivateKey privateKey)
通过用于签名操作的指定私钥初始化此签名对象。 |
protected void |
engineInitSign(PrivateKey privateKey,
SecureRandom random)
通过用于签名操作的指定私钥和随机源初始化此签名对象。 |
protected abstract void |
engineInitVerify(PublicKey publicKey)
通过用于验证操作的指定公钥初始化此签名对象。 |
protected void |
engineSetParameter(AlgorithmParameterSpec params)
此方法将由提供者重写,以便使用指定的参数设置初始化此签名引擎。 |
protected abstract void |
engineSetParameter(String param,
Object value)
已过时。 由 engineSetParameter 取代。
|
protected abstract byte[] |
engineSign()
返回迄今为止所有更新的数据的签名字节。 |
protected int |
engineSign(byte[] outbuf,
int offset,
int len)
完成此签名操作,并从 offset 开始将得到的签名字节保存在提供的缓冲区 outbuf 中。 |
protected abstract void |
engineUpdate(byte b)
使用指定的字节更新要签名或验证的数据。 |
protected abstract void |
engineUpdate(byte[] b,
int off,
int len)
使用指定的 byte 数组,从指定的偏移量开始更新要签名或验证的数据。 |
protected void |
engineUpdate(ByteBuffer input)
使用指定的 ByteBuffer 更新要签名或验证的数据。 |
protected abstract boolean |
engineVerify(byte[] sigBytes)
验证传入的签名。 |
protected boolean |
engineVerify(byte[] sigBytes,
int offset,
int length)
在指定的 byte 数组中,从指定的偏移量处开始,验证传入的签名。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected SecureRandom appRandom
构造方法详细信息 |
---|
public SignatureSpi()
方法详细信息 |
---|
protected abstract void engineInitVerify(PublicKey publicKey) throws InvalidKeyException
publicKey
- 其签名将被验证的标识的公钥。
InvalidKeyException
- 如果密钥未得到正确编码、参数丢失等等。protected abstract void engineInitSign(PrivateKey privateKey) throws InvalidKeyException
privateKey
- 将生成其签名的标识的私钥。
InvalidKeyException
- 如果密钥未得到正确编码、参数丢失等等。protected void engineInitSign(PrivateKey privateKey, SecureRandom random) throws InvalidKeyException
已将此具体方法添加到了先前定义过的抽象类中。(为向后兼容,它不能为抽象方法)。
privateKey
- 将生成其签名的标识的私钥。random
- 随机源
InvalidKeyException
- 如果密钥未得到正确编码、参数丢失等等。protected abstract void engineUpdate(byte b) throws SignatureException
b
- 用于更新的字节。
SignatureException
- 如果引擎未得到正确初始化。protected abstract void engineUpdate(byte[] b, int off, int len) throws SignatureException
b
- byte 数组off
- byte 数组开始处的偏移量len
- 要使用的字节数(从偏移量开始处计算)
SignatureException
- 如果引擎未得到正确初始化protected void engineUpdate(ByteBuffer input)
data.position()
处开始的 data.remaining()
字节。返回时,缓冲区的位置将等于其限制;其限制并未改变。
input
- the ByteBufferprotected abstract byte[] engineSign() throws SignatureException
SignatureException
- 如果引擎未得到正确初始化,或者此签名算法无法处理所提供的输入数据。protected int engineSign(byte[] outbuf, int offset, int len) throws SignatureException
offset
开始将得到的签名字节保存在提供的缓冲区 outbuf
中。签名的格式取决于基本签名方案。
此签名实现将被重新设置到其初始状态(对其中的一种 engineInitSign
方法调用之后所处的状态),并且可以重新使用该签名实现,用同一个私钥生成将来的签名。
此方法应是一个抽象方法,但出于二进制兼容性考虑,允许它保留具体方法。因此提供者应重写此方法。
outbuf
- 输出签名结果的缓冲区。offset
- 到存储签名的 outbuf
的偏移量。len
- outbuf
中分配给签名的字节数。此默认实现和 SUN 提供者匀不返回部分摘要。如果此参数的值小于实际签名长度,此方法将抛出一个 SignatureException。如果其值大于或等于实际签名长度,则将忽略此参数。
outbuf
中的字节数
SignatureException
- 如果引擎未得到正确初始化,或者此签名算法无法处理所提供的输入数据,或者 len
小于实际签名长度。protected abstract boolean engineVerify(byte[] sigBytes) throws SignatureException
sigBytes
- 要验证的签名字节。
SignatureException
- 如果引擎未得到正确初始化,或传入的签名未被正确编码或类型错误,或者此签名算法无法处理所提供的输入数据等等。protected boolean engineVerify(byte[] sigBytes, int offset, int length) throws SignatureException
注:子类应改写此默认实现。
sigBytes
- 要验证的签名字节。offset
- byte 数组中起始处的偏移量。length
- 要使用的字节数(从偏移量起始处计算)。
SignatureException
- 如果引擎未得到正确初始化,或传入的签名未被正确编码或类型错误,或者此签名算法无法处理所提供的输入数据等等。@Deprecated protected abstract void engineSetParameter(String param, Object value) throws InvalidParameterException
engineSetParameter
取代。
param
- 参数的字符串标示符。value
- 参数值。
InvalidParameterException
- 如果 param
是此算法引擎的无效参数,或者已经设置参数并且不能重新设置,或者发生了安全异常等等。protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
此方法将由提供者重写,以便使用指定的参数设置初始化此签名引擎。
params
- 参数
UnsupportedOperationException
- 如果提供者未重写此方法
InvalidAlgorithmParameterException
- 如果提供者未重写此方法并且指定的参数不适合此签名引擎protected AlgorithmParameters engineGetParameters()
此方法将由提供者重写,以返回与此签名引擎配合使用的参数,如果此签名引擎未使用任何参数,则返回 null。
返回的参数可能与用来初始化此签名引擎的参数相同;如果此签名引擎需要算法参数但却未使用任何参数进行初始化,则返回的参数可能会包含由底层签名实现使用的默认和随机生成的参数值的组合。
UnsupportedOperationException
- 如果提供者未重写此方法@Deprecated protected abstract Object engineGetParameter(String param) throws InvalidParameterException
param
- 参数的字符串名称。
InvalidParameterException
- 如果 param
是此引擎的无效参数,或者尝试获取此参数时发生了其他异常。public Object clone() throws CloneNotSupportedException
Object
中的 clone
CloneNotSupportedException
- 如果调用一个不支持 Cloneable
的实现。Cloneable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。