类
class ECDSAPrivateKey
public class ECDSAPrivateKey <: PrivateKey {
public init(curve: Curve)
}
功能:ECDSA 私钥类,提供生成 ECDSA 私钥能力,ECDSA 的私钥支持签名操作,同时支持 PEM 和 DER 格式的编码解码。
init()
public init(curve: Curve)
功能:init 初始化生成私钥。
参数:
- curve: Curve - 椭圆曲线类型。
异常:
- CryptoException - 初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): ECDSAPrivateKey
功能:将私钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的私钥对象。
返回值:
- ECDSAPrivateKey - 解码出的 ECDSA 私钥。
异常:
- CryptoException - 解码失败,抛出异常。
func decodeDer(DerBlob, ?String)
public static func decodeDer(blob: DerBlob, password!: ?String): ECDSAPrivateKey
功能:将加密的私钥从 DER 格式解码。
参数:
返回值:
- ECDSAPrivateKey - 解码出的 ECDSA 私钥。
异常:
- CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): ECDSAPrivateKey
功能:将私钥从 PEM 格式解码。
参数:
- text: String - PEM 格式的私钥字符流。
返回值:
- ECDSAPrivateKey - 解码出的 ECDSA 私钥。
异常:
- CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func decodeFromPem(String, ?String)
public static func decodeFromPem(text: String, password!: ?String): ECDSAPrivateKey
功能:将私钥从PEM 格式解码。
参数:
返回值:
- ECDSAPrivateKey - 解码出的 ECDSA 私钥。
异常:
- CryptoException - 解码失败、解密失败、参数密码为空字符串、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func encodeToDer()
public override func encodeToDer(): DerBlob
功能:将私钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的Der格式私钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToDer(?String)
public func encodeToDer(password!: ?String): DerBlob
功能:使用 AES-256-CBC 加密私钥,将私钥编码为 DER 格式。
参数:
- password!: ?String - 加密私钥需要提供的密码,密码为 None 时则不加密。
返回值:
- DerBlob - 编码后的DER格式私钥。
异常:
- CryptoException - 编码失败、加密失败或者参数密码为空字符串,抛出异常。
func encodeToPem()
public override func encodeToPem(): PemEntry
功能:将私钥编码为 PEM 格式。
返回值:
- PemEntry - 私钥PEM 格式的对象。
异常:
- CryptoException - 编码失败,抛出异常。
func sign(Array<Byte>)
public func sign(digest: Array<Byte>): Array<Byte>
功能:sign 对数据的摘要结果进行签名。
参数:
返回值:
异常:
- CryptoException - 签名失败,抛出异常。
func toString
public override func toString(): String
功能:输出私钥种类。
返回值:
- String - 密钥类别描述。
class ECDSAPublicKey
public class ECDSAPublicKey <: PublicKey {
public init(pri: ECDSAPrivateKey)
}
功能:ECDSA 公钥类,提供生成 ECDSA 公钥能力,ECDSA 公钥支持验证签名操作,支持 PEM 和 DER 格式的编码解码。
init(ECDSAPrivateKey)
public init(pri: ECDSAPrivateKey)
功能:init 初始化公钥,从私钥中获取对应的公钥。
参数:
- pri: ECDSAPrivateKey - ECDSA 私钥。
异常:
- CryptoException - 初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): ECDSAPublicKey
功能:将公钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的公钥对象。
返回值:
- ECDSAPublicKey - 解码出的 ECDSA 公钥。
异常:
- CryptoException - 编码失败,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): ECDSAPublicKey
功能:将公钥从 PEM 格式解码。
参数:
- text: String - PEM 格式的公钥字符流。
返回值:
- ECDSAPublicKey - 解码出的 ECDSA 公钥。
异常:
- CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。
func encodeToDer()
public override func encodeToDer(): DerBlob
功能:将公钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的Der格式公钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToPem()
public override func encodeToPem(): PemEntry
功能:将公钥编码为 PEM 格式。
返回值:
异常:
- CryptoException - 编码失败,抛出异常。
func toString
public override func toString(): String
功能:输出公钥种类。
返回值:
- String - 密钥类别描述。
func verify(Array<Byte>, Array<Byte>)
public func verify(digest: Array<Byte>, sig: Array<Byte>): Bool
功能:verify 验证签名结果。
参数:
返回值:
- Bool - 返回 true 表示验证成功,false 失败。
class RSAPrivateKey
public class RSAPrivateKey <: PrivateKey{
public init(bits: Int32)
public init(bits: Int32, e: BigInt)
}
功能:RSA 私钥类,提供生成 RSA 私钥能力,RSA 私钥支持签名和解密操作,支持 PEM 和 DER 格式的编码解码,符合 PKCS1 标准。
init(Int32)
public init(bits: Int32)
功能:init 初始化生成私钥, 公钥指数默认值为 65537,业界推荐。公钥指数e的大小直接影响了RSA算法的安全性和加密效率。通常情况下,e的值越小,加密速度越快,但安全性越低。
参数:
- bits: Int32 - 密钥长度,需要大于等于 512 位,并且小于等于 16384 位。
异常:
- CryptoException - 密钥长度不符合要求或初始化失败,抛出异常。
init(Int32, BigInt)
public init(bits: Int32, e: BigInt)
功能:init 初始化生成私钥,允许用户指定公共指数。
参数:
- bits: Int32 - 密钥长度,需要大于等于 512 位,并且小于等于 16384 位,推荐使用的密钥长度不小于 3072 位。
- e: BigInt - 公钥公共指数,范围是 [3, 2^256-1] 的奇数。
异常:
- CryptoException - 密钥长度不符合要求、公钥公共指数值不符合要求或初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): RSAPrivateKey
功能:将私钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的私钥对象。
返回值:
- RSAPrivateKey - 解码出的 RSA 私钥。
异常:
- CryptoException - 解码失败,抛出异常。
func decodeDer(DerBlob, ?String)
public static func decodeDer(blob: DerBlob, password!: ?String): RSAPrivateKey
功能:将加密的私钥从 DER 格式解码。
参数:
返回值:
- RSAPrivateKey - 解码出的 RSA 私钥。
异常:
- CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): RSAPrivateKey
功能:将私钥从 PEM 格式解码。
参数:
- text: String - PEM 格式的私钥字符流。
返回值:
- RSAPrivateKey - 解码出的 RSA 私钥。
异常:
- CryptoException - 解码失败、解密失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func decodeFromPem(String, ?String)
public static func decodeFromPem(text: String, password!: ?String): RSAPrivateKey
功能:将私钥从 PEM 格式解码。
参数:
返回值:
- RSAPrivateKey - 解码出的 RSA 私钥。
异常:
- CryptoException - 解码失败、解密失败、参数密码为空字符串、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func decrypt(InputStream, OutputStream, PadOption)
public func decrypt(input: InputStream, output: OutputStream, padType!: PadOption): Unit
功能:decrypt 解密出原始数据。
参数:
- input: InputStream - 加密的数据。
- output: OutputStream - 解密后的数据。
- padType!: PadOption - 填充模式,可以选择 PKCS1 或 OAEP 模式,不支持 PSS 模式,在对安全场景要求较高的情况下,推荐使用 OAEP 填充模式。
异常:
- CryptoException - 设置填充模式失败或解密失败,抛出异常。
func encodeToDer()
public override func encodeToDer(): DerBlob
功能:将私钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的DER格式私钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToDer(?String)
public func encodeToDer(password!: ?String): DerBlob
功能:使用 AES-256-CBC 加密私钥,将私钥编码为 DER 格式。
参数:
- password!: ?String - 加密私钥需要提供的密码,密码为 None 时则不加密。
返回值:
- DerBlob - 编码后的DER格式私钥。
异常:
- CryptoException - 编码失败、加密失败或者参数密码为空字符串,抛出异常。
func encodeToPem()
public override func encodeToPem(): PemEntry
功能:将私钥编码为 PEM 格式。
返回值:
- PemEntry - 私钥PEM 格式的对象。
异常:
- CryptoException - 编码失败,抛出异常。
func sign(Digest, Array<Byte>, PadOption)
public func sign(hash: Digest, digest: Array<Byte>, padType!: PadOption): Array<Byte>
功能:对数据的摘要结果进行签名。
参数:
- hash: Digest - 摘要方法,获取 digest 结果使用的摘要方法。
- digest: Array<Byte> - 数据的摘要结果。
- padType!: PadOption - 填充模式,可以选择 PKCS1 或 PSS 模式,不支持 OAEP 模式,在对安全场景要求较高的情况下,推荐使用 PSS 填充模式。
返回值:
异常:
- CryptoException - 设置摘要方法失败、设置填充模式失败或签名失败,抛出异常。
func toString()
public override func toString(): String
功能:输出私钥种类。
返回值:
- String - 密钥类别描述。
class RSAPublicKey
public class RSAPublicKey <: PublicKey {
public init(pri: RSAPrivateKey)
}
功能:RSA 公钥类,提供生成 RSA 公钥能力,RSA 公钥支持验证签名和加密操作,支持 PEM 和 DER 格式的编码解码。
init(RSAPrivateKey)
public init(pri: RSAPrivateKey)
功能:init 初始化公钥,从私钥中获取对应的公钥。
参数:
- pri: RSAPrivateKey - RSA私钥。
异常:
- CryptoException - 初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): RSAPublicKey
功能:将公钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的公钥对象。
返回值:
- RSAPublicKey - 解码出的 RSA 公钥。
异常:
- CryptoException - 解码失败,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): RSAPublicKey
功能:将公钥从PEM 格式解码。
参数:
- text: String - PEM 格式的公钥字符流。
返回值:
- RSAPublicKey - 解码出的 RSA 公钥。
异常:
- CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。
func encodeToDer()
public override func encodeToDer(): DerBlob
功能:将公钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的Der格式公钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToPem()
public override func encodeToPem(): PemEntry
功能:将公钥编码为 PEM 格式。
返回值:
异常:
- CryptoException - 编码失败,抛出异常。
func encrypt(InputStream, OutputStream, PadOption)
public func encrypt(input: InputStream, output: OutputStream, padType!: PadOption): Unit
功能:encrypt 给一段数据进行加密。
参数:
- input: InputStream - 需要加密的数据。
- output: OutputStream - 加密后的数据。
- padType!: PadOption - 填充模式,可以选择 PKCS1 或 OAEP 模式,不支持 PSS 模式,在对安全场景要求较高的情况下,推荐使用 OAEP 填充模式。
异常:
- CryptoException - 设置填充模式失败或加密失败,抛出异常。
func toString()
public override func toString(): String
功能:输出公钥种类。
返回值:
- String - 密钥类别描述。
func verify(Digest, Array<Byte>, Array<Byte>, PadOption)
public func verify(hash: Digest, digest: Array<Byte>, sig: Array<Byte>, padType!: PadOption): Bool
功能:verify 验证签名结果。
参数:
- hash: Digest - 摘要方法,获取 digest 结果使用的摘要方法。
- digest: Array<Byte> - 数据的摘要结果。
- sig: Array<Byte> - 数据的签名结果。
- padType!: PadOption - 填充模式,可以选择 PKCS1 或 PSS 模式,不支持 OAEP 模式,在对安全场景要求较高的情况下,推荐使用 PSS 填充模式。
返回值:
- Bool - 返回 true 表示验证成功,false 失败。
异常:
- CryptoException - 设置填充模式失败或验证失败,抛出异常。
class SM2PrivateKey
public class SM2PrivateKey <: PrivateKey {
public init()
}
功能:SM2 私钥类,提供生成 SM2 私钥能力,SM2 私钥支持签名和解密操作,支持 PEM 和 DER 格式的编码解码,符合 PKCS1 标准。
init()
public init()
功能:init 初始化生成私钥。
异常:
- CryptoException - 初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): SM2PrivateKey
功能:将私钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的私钥对象。
返回值:
- SM2PrivateKey - 解码出的 SM2 私钥。
异常:
- CryptoException - 解码失败,抛出异常。
func decodeDer(DerBlob, ?String)
public static func decodeDer(blob: DerBlob, password!: ?String): SM2PrivateKey
功能:将加密的私钥从 DER 格式解码。
参数:
返回值:
- SM2PrivateKey - 解码出的 SM2 私钥。
异常:
- CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): SM2PrivateKey
功能:将私钥从 PEM 格式解码。
参数:
- text: String - PEM 格式的私钥字符流。
返回值:
- SM2PrivateKey - 解码出的 SM2 私钥。
异常:
- CryptoException - 解码失败、解密失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func decodeFromPem(String, ?String)
public static func decodeFromPem(text: String, password!: ?String): SM2PrivateKey
功能:将私钥从 PEM 格式解码。
参数:
返回值:
- SM2PrivateKey - 解码出的 SM2 私钥。
异常:
- CryptoException - 解码失败、解密失败、参数密码为空字符串、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。
func decrypt(Array<Byte>)
public func decrypt(input: Array<Byte>): Array<Byte>
功能:decrypt 解密出原始数据。
参数:
返回值:
异常:
- CryptoException - 解密失败,抛出异常。
func encodeToDer()
public func encodeToDer(): DerBlob
功能:将私钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的DER格式私钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToDer(?String)
public func encodeToDer(password!: ?String): DerBlob
功能:使用 AES-256-CBC 加密私钥,将私钥编码为 DER 格式。
参数:
- password!: ?String - 加密私钥需要提供的密码,密码为 None 时则不加密。
返回值:
- DerBlob - 编码后的DER格式公钥。
异常:
- CryptoException - 编码失败、加密失败或者参数密码为空字符串,抛出异常。
func encodeToPem(?String)
public func encodeToPem(password!: ?String): PemEntry
功能:将加密的私钥编码为 PEM 格式。
参数:
- password!: ?String - 加密私钥需要提供的密码,密码为 None 时则不加密。
返回值:
- PemEntry - 私钥PEM 格式的对象。
异常:
- CryptoException - 编码失败、加密失败或者参数密码为空字符串,抛出异常。
func encodeToPem()
public func encodeToPem(): PemEntry
功能:将私钥编码为 PEM 格式。
返回值:
- PemEntry - 私钥PEM 格式的对象。
异常:
- CryptoException - 编码失败,抛出异常。
func sign(Array<Byte>)
public func sign(data: Array<Byte>): Array<Byte>
功能:sign 对数据进行签名, SM2采用SM3数据摘要算法。
参数:
返回值:
异常:
- CryptoException - 签名失败,抛出异常。
func toString
public override func toString(): String
功能:输出私钥种类。
返回值:
- String - 密钥类别描述。
class SM2PublicKey
public class SM2PublicKey <: PublicKey {
public init(pri: SM2PrivateKey)
}
功能:SM2 公钥类,提供生成 SM2 公钥能力,SM2 公钥支持验证签名和加密操作,支持 PEM 和 DER 格式的编码解码。
init(SM2PrivateKey)
public init(pri: SM2PrivateKey)
功能:init 初始化公钥,从私钥中获取对应的公钥。
参数:
- pri: SM2PrivateKey - SM2 私钥。
异常:
- CryptoException - 初始化失败,抛出异常。
func decodeDer(DerBlob)
public static func decodeDer(blob: DerBlob): SM2PublicKey
功能:将公钥从 DER 格式解码。
参数:
- blob: DerBlob - 二进制格式的公钥对象。
返回值:
- SM2PublicKey - 解码出的 SM2 公钥。
异常:
- CryptoException - 解码失败,抛出异常。
func decodeFromPem(String)
public static func decodeFromPem(text: String): SM2PublicKey
功能:将公钥从PEM 格式解码。
参数:
- text: String - PEM 格式的公钥字符流。
返回值:
- SM2PublicKey - 解码出的 SM2 公钥。
异常:
- CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。
func encodeToDer()
public func encodeToDer(): DerBlob
功能:将公钥编码为 DER 格式。
返回值:
- DerBlob - 编码后的Der格式公钥。
异常:
- CryptoException - 编码失败,抛出异常。
func encodeToPem()
public func encodeToPem(): PemEntry
功能:将公钥编码为 PEM 格式。
返回值:
异常:
- CryptoException - 编码失败,抛出异常。
func encrypt(Array<Byte>)
public func encrypt(input: Array<Byte>): Array<Byte>
功能:encrypt 给一段数据进行加密。
参数:
返回值:
异常:
- CryptoException - 加密失败,抛出异常。
func toString()
public override func toString(): String
功能:输出公钥种类。
返回值:
- String - 密钥类别描述。
func verify(Array<Byte>, Array<Byte>)
public func verify(data: Array<Byte>, sig: Array<Byte>): Bool
功能:verify 验证签名结果。
参数:
返回值:
- Bool - 返回 true 表示验证成功,false 失败。
异常:
- CryptoException - 设置填充模式失败或验证失败,抛出异常。