所有类


java.security
类 SignatureSpi

java.lang.Object
  继承者 java.security.SignatureSpi
直接已知子类:
Signature

public abstract class SignatureSpi
   
   
   
   
   
extends Object

此类为 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)
          使用指定的字节数组,从指定的偏移量开始更新要签名或验证的数据。
protected  void engineUpdate(ByteBuffer input)
          使用指定的 ByteBuffer 更新要签名或验证的数据。
protected abstract  boolean engineVerify(byte[] sigBytes)
          验证传入的签名。
protected  boolean engineVerify(byte[] sigBytes, int offset, int length)
          在指定的字节数组中,从指定的偏移量处开始,验证传入的签名。
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

appRandom

protected SecureRandom appRandom
应用程序指定的随机源。

构造方法详细信息

SignatureSpi

public SignatureSpi()
方法详细信息

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.position() 处开始的 data.remaining() 字节。返回时,缓冲区的位置将等于其限制;其限制并未改变。

参数:
input - the ByteBuffer
从以下版本开始:
1.5

engineSign

protected abstract byte[] engineSign()
                              throws SignatureException
返回迄今为止所有更新的数据的签名字节。签名的格式取决于基础签名方案。

返回:
签名操作结果的签名字节。
抛出:
SignatureException - 如果引擎未得到正确初始化,或者此签名算法无法处理所提供的输入数据。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部