- java.lang.Object
-
- java.security.SignatureSpi
-
-
Field Summary
Fields Modifier and Type Field 描述 protected SecureRandom
appRandom
应用指定的随机源。
-
构造方法摘要
构造方法 Constructor 描述 SignatureSpi()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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 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
方法之一后的engineInitSign
),并且可以重用以使用相同的私钥生成进一步的签名。 这种方法应该是抽象的,但是我们留下具体的二进制兼容性。 有知识的提供者应该覆盖这种方法。- 参数
-
outbuf
- 签名结果的缓冲区。 -
offset
- 偏移到outbuf
,其中存储签名。 -
len
- 分配给签名的outbuf
内的字节数。 这个默认实现和SUN提供者都不返回部分摘要。 如果此参数的值小于实际签名长度,则此方法将抛出一个SignatureException。 如果该值大于或等于实际签名长度,则忽略此参数。 - 结果
-
字节数放入
outbuf
- 异常
-
SignatureException
- 如果引擎未正确初始化,如果此签名算法无法处理提供的输入数据,或者如果len
小于实际签名长度。 - 从以下版本开始:
- 1.2
-
engineVerify
protected abstract boolean engineVerify(byte[] sigBytes) throws SignatureException
验证传入签名。- 参数
-
sigBytes
- 要验证的签名字节。 - 结果
- 如果签名被验证,则为真,否则为false。
- 异常
-
SignatureException
- 如果引擎未正确初始化,则传入的签名被错误地编码或错误的类型,如果该签名算法不能处理提供的输入数据等。
-
engineVerify
protected boolean engineVerify(byte[] sigBytes, int offset, int length) throws SignatureException
以指定的偏移量开始,以指定的字节数组验证传入签名。注意:子类应该覆盖默认实现。
- 参数
-
sigBytes
- 要验证的签名字节。 -
offset
- 从字节数组开始的偏移量。 -
length
- 从偏移开始使用的字节数。 - 结果
- 如果签名被验证,则为真,否则为false。
- 异常
-
SignatureException
- 如果引擎未正确初始化,则传入的签名被错误地编码或错误的类型,如果该签名算法无法处理提供的输入数据等。 - 从以下版本开始:
- 1.4
-
engineSetParameter
@Deprecated protected abstract void engineSetParameter(String param, Object value) throws InvalidParameterException
已过时。 替换为engineSetParameter
。将指定的算法参数设置为指定的值。 该方法提供通用机制,通过该机制可以设置该对象的各种参数。 参数可以是算法的任何可设置参数,诸如参数大小,或用于签名生成的随机比特来源(如果适用)),或者是否执行特定但可选择的计算的指示。 每个参数的均匀算法特定命名方案是可取的,但在此时未指定。- 参数
-
param
- 参数的字符串标识符。 -
value
- 参数值。 - 异常
-
InvalidParameterException
- 如果param
是该签名算法引擎的无效参数,则该参数已设置,不能再次设置,发生安全异常等。
-
engineSetParameter
protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
提供者将覆盖此方法以使用指定的参数集来初始化此签名引擎。
- 参数
-
params
- 参数 - 异常
-
UnsupportedOperationException
- 如果此方法不被提供程序覆盖 -
InvalidAlgorithmParameterException
- 如果此方法被提供程序覆盖,并且给定的参数不适合此签名引擎
-
engineGetParameters
protected AlgorithmParameters engineGetParameters()
提供者覆盖此方法以返回与此签名引擎一起使用的参数,如果此签名引擎不使用任何参数,则返回null。
返回的参数可能与用于初始化此签名引擎的参数相同,或者如果该签名引擎需要算法参数但未被任何一个初始化,则可能包含底层签名实现使用的默认和随机生成的参数值的组合。
- 结果
- 与此签名引擎一起使用的参数,如果此签名引擎不使用任何参数,则为null
- 异常
-
UnsupportedOperationException
- 如果此方法不被提供程序覆盖 - 从以下版本开始:
- 1.4
-
engineGetParameter
@Deprecated protected abstract Object engineGetParameter(String param) throws InvalidParameterException
已过时。获取指定算法参数的值。 该方法提供通用机制,通过该机制可以获得该对象的各种参数。 参数可以是算法的任何可设置参数,诸如参数大小,或用于签名生成的随机比特来源(如果适用)),或者是否执行特定但可选择的计算的指示。 每个参数的均匀算法特定命名方案是可取的,但在此时未指定。- 参数
-
param
- 参数的字符串名称。 - 结果
- 表示参数值的对象,如果没有,则为null。
- 异常
-
InvalidParameterException
- 如果param
是此引擎的无效参数,或尝试获取此参数时发生另一个异常。
-
clone
public Object clone() throws CloneNotSupportedException
如果实现是可克隆的,则返回克隆。- 重写:
-
clone
在Object
- 结果
- 一个克隆,如果实现是可克隆的。
- 异常
-
CloneNotSupportedException
- 如果在不支持Cloneable
的实现上调用此方法。 - 另请参见:
-
Cloneable
-
-