- java.lang.Object
-
- java.security.SignatureSpi
-
-
字段汇总
字段 变量和类型 字段 描述 protected SecureRandom
appRandom
应用程序指定的随机源。
-
构造方法摘要
构造方法 构造器 描述 SignatureSpi()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 弃用的方法 变量和类型 方法 描述 Object
clone()
如果实现是可复制的,则返回克隆。protected abstract Object
engineGetParameter(String param)
已过时。protected AlgorithmParameters
engineGetParameters()
提供程序重写此方法以返回与此签名引擎一起使用的参数。protected abstract void
engineInitSign(PrivateKey privateKey)
使用指定的私钥初始化此签名对象以进行签名操作。protected void
engineInitSign(PrivateKey privateKey, SecureRandom random)
使用指定的私钥和随机源对签名操作初始化此签名对象。protected abstract void
engineInitVerify(PublicKey publicKey)
使用指定的公钥初始化此签名对象以进行验证操作。protected abstract void
engineSetParameter(String param, Object value)
已过时。protected void
engineSetParameter(AlgorithmParameterSpec params)
提供程序重写此方法以使用指定的参数集初始化此签名引擎。protected abstract byte[]
engineSign()
返回到目前为止更新的所有数据的签名字节。protected int
engineSign(byte[] outbuf, int offset, int len)
完成此签名操作并将生成的签名字节存储在提供的缓冲区outbuf
,从offset
开始。protected abstract void
engineUpdate(byte b)
使用指定的字节更新要签名或验证的数据。protected abstract void
engineUpdate(byte[] b, int off, int len)
使用指定的字节数组从指定的偏移量开始更新要签名或验证的数据。protected void
engineUpdate(ByteBuffer input)
使用指定的ByteBuffer更新要签名或验证的数据。protected abstract boolean
engineVerify(byte[] sigBytes)
验证传入的签名。protected boolean
engineVerify(byte[] sigBytes, int offset, int length)
从指定的偏移量开始,验证指定字节数组中的传入签名。
-
-
-
字段详细信息
-
appRandom
protected SecureRandom appRandom
应用程序指定的随机源。
-
-
方法详细信息
-
engineInitVerify
protected abstract void engineInitVerify(PublicKey publicKey) throws InvalidKeyException
使用指定的公钥初始化此签名对象以进行验证操作。- 参数
-
publicKey
- 将验证其签名的身份的公钥。 - 异常
-
InvalidKeyException
- 如果密钥编码不正确,则缺少参数,依此类推。
-
engineInitSign
protected abstract void engineInitSign(PrivateKey privateKey) throws InvalidKeyException
使用指定的私钥初始化此签名对象以进行签名操作。- 参数
-
privateKey
- 将生成其签名的标识的私钥。 - 异常
-
InvalidKeyException
- 如果密钥编码不正确,则缺少参数,依此类推。
-
engineInitSign
protected void engineInitSign(PrivateKey privateKey, SecureRandom random) throws InvalidKeyException
使用指定的私钥和随机源对签名操作初始化此签名对象。此具体方法已添加到此先前定义的抽象类中。 (为了向后兼容,它不能是抽象的。)
- 参数
-
privateKey
- 将生成其签名的标识的私钥。 -
random
- 随机性的来源 - 异常
-
InvalidKeyException
- 如果密钥编码不正确,则缺少参数,依此类推。
-
engineUpdate
protected abstract void engineUpdate(byte b) throws SignatureException
使用指定的字节更新要签名或验证的数据。- 参数
-
b
- 用于更新的字节。 - 异常
-
SignatureException
- 如果引擎未正确初始化。
-
engineUpdate
protected abstract void engineUpdate(byte[] b, int off, int len) throws SignatureException
使用指定的字节数组从指定的偏移量开始更新要签名或验证的数据。- 参数
-
b
- 字节数组 -
off
- 从字节数组开始的偏移量 -
len
- 从偏移量开始使用的字节数 - 异常
-
SignatureException
- 如果引擎未正确初始化
-
engineUpdate
protected void engineUpdate(ByteBuffer input)
使用指定的ByteBuffer更新要签名或验证的数据。 处理data.remaining()
字节,从data.position()
开始。 返回时,缓冲区的位置将等于其限制; 它的限制不会改变。- 参数
-
input
- ByteBuffer - 从以下版本开始:
- 1.5
-
engineSign
protected abstract byte[] engineSign() throws SignatureException
返回到目前为止更新的所有数据的签名字节。 签名的格式取决于底层签名方案。- 结果
- 签名操作结果的签名字节。
- 异常
-
SignatureException
- 如果引擎未正确初始化或此签名算法无法处理提供的输入数据。
-
engineSign
protected int engineSign(byte[] outbuf, int offset, int len) throws SignatureException
完成此签名操作并将生成的签名字节存储在提供的缓冲区outbuf
,从offset
开始。 签名的格式取决于底层签名方案。签名实现被重置为其初始状态(调用其中一个
engineInitSign
方法后的状态),并且可以重用以使用相同的私钥生成更多签名。 这个方法应该是抽象的,但我们将它具体化为二进制兼容性。 知识渊博的提供者应该重写此方法- 参数
-
outbuf
- 签名结果的缓冲区。 -
offset
-偏移到outbuf
签名的存储位置。 -
len
- 为签名分配的outbuf
内的字节数。 此默认实现和SUN提供程序都不返回部分摘要。 如果此参数的值小于实际签名长度,则此方法将抛出SignatureException。 如果其值大于或等于实际签名长度,则忽略此参数。 - 结果
-
放入
outbuf
的字节数 - 异常
-
SignatureException
- 如果引擎未正确初始化,如果此签名算法无法处理提供的输入数据,或者len
小于实际签名长度。 - 从以下版本开始:
- 1.2
-
engineVerify
protected abstract boolean engineVerify(byte[] sigBytes) throws SignatureException
验证传入的签名。- 参数
-
sigBytes
- 要验证的签名字节。 - 结果
- 如果签名已经过验证,则为true,否则为false。
- 异常
-
SignatureException
- 如果引擎未正确初始化,则传入的签名编码不正确或类型错误,如果此签名算法无法处理提供的输入数据等。
-
engineVerify
protected boolean engineVerify(byte[] sigBytes, int offset, int length) throws SignatureException
从指定的偏移量开始,验证指定字节数组中的传入签名。注意:子类应覆盖默认实现。
- 参数
-
sigBytes
- 要验证的签名字节。 -
offset
- 从字节数组开始的偏移量。 -
length
- 从偏移量开始使用的字节数。 - 结果
- 如果签名已经过验证,则为true,否则为false。
- 异常
-
SignatureException
- 如果引擎未正确初始化,则传入的签名编码不正确或类型错误,如果此签名算法无法处理提供的输入数据等。 - 从以下版本开始:
- 1.4
-
engineSetParameter
@Deprecated protected abstract void engineSetParameter(String param, Object value) throws InvalidParameterException
Deprecated.Replaced byengineSetParameter
.将指定的算法参数设置为指定的值。 该方法提供了一种通用机制,通过该机制可以设置该对象的各种参数。 参数可以是算法的任何可设置参数,例如参数大小,或用于签名生成的随机比特源(如果适当的话),或者是否执行特定但可选的计算的指示。 每个参数的统一算法特定命名方案是可取的,但此时未指定。- 参数
-
param
- 参数的字符串标识符。 -
value
- 参数值。 - 异常
-
InvalidParameterException
- 如果param
是此签名算法引擎的无效参数,则该参数已设置且无法再次设置,发生安全性异常,依此类推。
-
engineSetParameter
protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
提供程序重写此方法以使用指定的参数集初始化此签名引擎。
- 参数
-
params
- 参数 - 异常
-
UnsupportedOperationException
- 如果提供程序未覆盖此方法 -
InvalidAlgorithmParameterException
- 如果此方法被提供程序覆盖,并且给定的参数不适合此签名引擎
-
engineGetParameters
protected AlgorithmParameters engineGetParameters()
提供程序重写此方法以返回与此签名引擎一起使用的参数。
如果此签名引擎先前已使用参数初始化(通过调用
engineSetParameter
方法),则此方法返回相同的参数。 如果此签名引擎尚未使用参数初始化,则此方法可能会返回默认和随机生成的参数值的组合(如果基础签名实现支持它并且可以成功生成它们)。 否则,返回null
。- 结果
-
此签名引擎使用的参数,或
null
- 异常
-
UnsupportedOperationException
- 如果提供程序未覆盖此方法 - 从以下版本开始:
- 1.4
-
engineGetParameter
@Deprecated protected abstract Object engineGetParameter(String param) throws InvalidParameterException
Deprecated.获取指定算法参数的值。 该方法提供了一种通用机制,通过该机制可以获得该对象的各种参数。 参数可以是算法的任何可设置参数,例如参数大小,或用于签名生成的随机比特源(如果适当的话),或者是否执行特定但可选的计算的指示。 每个参数的统一算法特定命名方案是可取的,但此时未指定。- 参数
-
param
- 参数的字符串名称。 - 结果
-
表示参数值的对象,如果没有,
null
。 - 异常
-
InvalidParameterException
- 如果param
是此引擎的无效参数,或者在尝试获取此参数时发生另一个异常。
-
clone
public Object clone() throws CloneNotSupportedException
如果实现是可复制的,则返回克隆。- 重写:
-
clone
在课程Object
- 结果
- 如果实现是可复制的,则为克隆。
- 异常
-
CloneNotSupportedException
- 如果在不支持Cloneable
的实现上调用此方法。 - 另请参见:
-
Cloneable
-
-