- java.lang.Object
-
- java.security.SignatureSpi
-
-
字段汇总
字段 变量和类型 字段 描述 protected SecureRandomappRandom应用程序指定的随机源。
-
构造方法摘要
构造方法 构造器 描述 SignatureSpi()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 弃用的方法 变量和类型 方法 描述 Objectclone()如果实现是可复制的,则返回克隆。protected abstract ObjectengineGetParameter(String param)已过时。protected AlgorithmParametersengineGetParameters()提供程序重写此方法以返回与此签名引擎一起使用的参数。protected abstract voidengineInitSign(PrivateKey privateKey)使用指定的私钥初始化此签名对象以进行签名操作。protected voidengineInitSign(PrivateKey privateKey, SecureRandom random)使用指定的私钥和随机源对签名操作初始化此签名对象。protected abstract voidengineInitVerify(PublicKey publicKey)使用指定的公钥初始化此签名对象以进行验证操作。protected abstract voidengineSetParameter(String param, Object value)已过时。protected voidengineSetParameter(AlgorithmParameterSpec params)提供程序重写此方法以使用指定的参数集初始化此签名引擎。protected abstract byte[]engineSign()返回到目前为止更新的所有数据的签名字节。protected intengineSign(byte[] outbuf, int offset, int len)完成此签名操作并将生成的签名字节存储在提供的缓冲区outbuf,从offset开始。protected abstract voidengineUpdate(byte b)使用指定的字节更新要签名或验证的数据。protected abstract voidengineUpdate(byte[] b, int off, int len)使用指定的字节数组从指定的偏移量开始更新要签名或验证的数据。protected voidengineUpdate(ByteBuffer input)使用指定的ByteBuffer更新要签名或验证的数据。protected abstract booleanengineVerify(byte[] sigBytes)验证传入的签名。protected booleanengineVerify(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
-
-