Signature 类介绍
java 1.6api介绍:
此类用来为应用程序提供数字签名算法功能,数字签名用于确保数字数据的验证和完整性
支持的算法有:
java api1.6 附录A
NONEwithRSA
MD2withRSA/MD5withRSA
SHA1withRSA /SHA256withRSA/SHA384withRSA/SHA512withRSA
NONEwithDSA
SHA1withDSA
NONEwithECDSA/SHA1withECDSA/SHA256withECDSA/SHA384withECDSA/SHA512withECDSA/(ECDSA)
<digest>with<encryption> //任意的签名算法with 加密算法 ;例如 :<digest>with<encryption>and<mgf> :MD5withRSAandMGF1
类对象获取:
一般通过静态方法 getInstance("算法名称")方法获取
方法:
- clone();如果此实现可复制,则返回此实现副本
- getAlgorithm();返回此实现的算法名称
- getInstance("算法名称");返回对应具体的算法的signature对象
getInstance(String algorithm, Provider provider)
返回指定算法和算法实现提供商的signature对象,注意指定 Provider 对象无需在提供者列表中注册。不推荐此方法,因为具体提供商的算法并不保证在所有环境都能正常运行getInstance(String algorithm, String provider)返回指定算法和算法提供商的signature对象,该实现取自指定提供者。指定的提供者必须在安全提供者列表中注册。
getParameter(String param) 获得传入参数的具体值,有多个重载方法,但方法已过时
- getParameter() ;返回此签名对象使用的参数
- getProvider();返回此签名对象的提供者
initSign(PrivateKey privateKey)
;通过传入私钥,方式初始化签名对象initSign(PrivateKey privateKey, SecureRandom random)
通过传入公钥和随机源的方式初始化签名对象initVerify(Certificate certificate)
通过给定证书的公钥来初始化验证对象initVerify(PublicKey publicKey)
通过公钥初始化验证对象- sign();返回所有已更新的签名字节
sign(byte[] outbuf, int offset, int len)
完成签名操作,并从offen开始将签名存储在缓冲区outbuf中- toString();返回签名对象的字符串表示形式
- update(
byte b
);更新待签名或验证的数据 update(byte[] data)
更新要签名或验证的数据使用指定的数组update(byte[] data, int off, int len)
从指定的偏移量开始,使用指定的 byte 数组更新要签名或验证的数据。update(ByteBuffer data)
使用指定的buffer签名或验证数据- verify(
byte[] signature
)验证待传入的签名 verify(byte[] signature, int offset, int length)
从指定的偏移量开始,验证指定的byte数组中传入的签名