| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.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 ByteBuffer
     
protected 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 Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。