class ECDSAPrivateKey

public class ECDSAPrivateKey <: PrivateKey {
    public init(curve: Curve)
}

功能:ECDSA 私钥类,提供生成 ECDSA 私钥能力,ECDSA 的私钥支持签名操作,同时支持 PEM 和 DER 格式的编码解码。

父类型:

init()

public init(curve: Curve)

功能:init 初始化生成私钥。

参数:

  • curve: Curve - 椭圆曲线类型。

异常:

func decodeDer(DerBlob)

public static func decodeDer(blob: DerBlob): ECDSAPrivateKey

功能:将私钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的私钥对象。

返回值:

异常:

func decodeDer(DerBlob, ?String)

public static func decodeDer(blob: DerBlob, password!: ?String): ECDSAPrivateKey

功能:将加密的私钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的私钥对象。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。

func decodeFromPem(String)

public static func decodeFromPem(text: String): ECDSAPrivateKey

功能:将私钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。

func decodeFromPem(String, ?String)

public static func decodeFromPem(text: String, password!: ?String): ECDSAPrivateKey

功能:将私钥从PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • CryptoException - 解码失败、解密失败、参数密码为空字符串、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。

func encodeToDer()

public override func encodeToDer(): DerBlob

功能:将私钥编码为 DER 格式。

返回值:

  • DerBlob - 编码后的Der格式私钥。

异常:

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 格式的对象。

异常:

func sign(Array<Byte>)

public func sign(digest: Array<Byte>): Array<Byte>

功能:sign 对数据的摘要结果进行签名。

参数:

  • digest: Array<Byte> - 数据的摘要结果。

返回值:

异常:

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 初始化公钥,从私钥中获取对应的公钥。

参数:

异常:

func decodeDer(DerBlob)

public static func decodeDer(blob: DerBlob): ECDSAPublicKey

功能:将公钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的公钥对象。

返回值:

异常:

func decodeFromPem(String)

public static func decodeFromPem(text: String): ECDSAPublicKey

功能:将公钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的公钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。

func encodeToDer()

public override func encodeToDer(): DerBlob

功能:将公钥编码为 DER 格式。

返回值:

  • DerBlob - 编码后的Der格式公钥。

异常:

func encodeToPem()

public override func encodeToPem(): PemEntry

功能:将公钥编码为 PEM 格式。

返回值:

异常:

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 验证签名结果。

参数:

  • digest: Array<Byte> - 数据的摘要结果。
  • sig: Array<Byte> - 数据的签名结果。

返回值:

  • 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 - 二进制格式的私钥对象。

返回值:

异常:

func decodeDer(DerBlob, ?String)

public static func decodeDer(blob: DerBlob, password!: ?String): RSAPrivateKey

功能:将加密的私钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的私钥对象。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。

func decodeFromPem(String)

public static func decodeFromPem(text: String): RSAPrivateKey

功能:将私钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、解密失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。

func decodeFromPem(String, ?String)

public static func decodeFromPem(text: String, password!: ?String): RSAPrivateKey

功能:将私钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • 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格式私钥。

异常:

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 格式的对象。

异常:

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 初始化公钥,从私钥中获取对应的公钥。

参数:

异常:

func decodeDer(DerBlob)

public static func decodeDer(blob: DerBlob): RSAPublicKey

功能:将公钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的公钥对象。

返回值:

异常:

func decodeFromPem(String)

public static func decodeFromPem(text: String): RSAPublicKey

功能:将公钥从PEM 格式解码。

参数:

  • text: String - PEM 格式的公钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。

func encodeToDer()

public override func encodeToDer(): DerBlob

功能:将公钥编码为 DER 格式。

返回值:

  • DerBlob - 编码后的Der格式公钥。

异常:

func encodeToPem()

public override func encodeToPem(): PemEntry

功能:将公钥编码为 PEM 格式。

返回值:

异常:

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 初始化生成私钥。

异常:

func decodeDer(DerBlob)

public static func decodeDer(blob: DerBlob): SM2PrivateKey

功能:将私钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的私钥对象。

返回值:

异常:

func decodeDer(DerBlob, ?String)

public static func decodeDer(blob: DerBlob, password!: ?String): SM2PrivateKey

功能:将加密的私钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的私钥对象。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • CryptoException - 解码失败、解密失败或者参数密码为空字符串,抛出异常。

func decodeFromPem(String)

public static func decodeFromPem(text: String): SM2PrivateKey

功能:将私钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、解密失败、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。

func decodeFromPem(String, ?String)

public static func decodeFromPem(text: String, password!: ?String): SM2PrivateKey

功能:将私钥从 PEM 格式解码。

参数:

  • text: String - PEM 格式的私钥字符流。
  • password!: ?String - 解密私钥需要提供的密码,密码为 None 时则不解密。

返回值:

异常:

  • CryptoException - 解码失败、解密失败、参数密码为空字符串、字符流不符合 PEM 格式或文件头不符合私钥头标准时,抛出异常。

func decrypt(Array<Byte>)

public func decrypt(input: Array<Byte>): Array<Byte>

功能:decrypt 解密出原始数据。

参数:

返回值:

异常:

func encodeToDer()

public func encodeToDer(): DerBlob

功能:将私钥编码为 DER 格式。

返回值:

  • DerBlob - 编码后的DER格式私钥。

异常:

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 格式的对象。

异常:

func sign(Array<Byte>)

public func sign(data: Array<Byte>): Array<Byte>

功能:sign 对数据进行签名, SM2采用SM3数据摘要算法。

参数:

返回值:

异常:

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 初始化公钥,从私钥中获取对应的公钥。

参数:

异常:

func decodeDer(DerBlob)

public static func decodeDer(blob: DerBlob): SM2PublicKey

功能:将公钥从 DER 格式解码。

参数:

  • blob: DerBlob - 二进制格式的公钥对象。

返回值:

异常:

func decodeFromPem(String)

public static func decodeFromPem(text: String): SM2PublicKey

功能:将公钥从PEM 格式解码。

参数:

  • text: String - PEM 格式的公钥字符流。

返回值:

异常:

  • CryptoException - 解码失败、字符流不符合 PEM 格式或文件头不符合公钥头标准时,抛出异常。

func encodeToDer()

public func encodeToDer(): DerBlob

功能:将公钥编码为 DER 格式。

返回值:

  • DerBlob - 编码后的Der格式公钥。

异常:

func encodeToPem()

public func encodeToPem(): PemEntry

功能:将公钥编码为 PEM 格式。

返回值:

异常:

func encrypt(Array<Byte>)

public func encrypt(input: Array<Byte>): Array<Byte> 

功能:encrypt 给一段数据进行加密。

参数:

  • input: Array<Byte> - 需要加密的数据。

返回值:

异常:

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 - 设置填充模式失败或验证失败,抛出异常。