接口

interface DHParamters

public interface DHParamters <: Key {
    override func encodeToPem(): PemEntry
    static func decodeDer(blob: DerBlob): DHParamters
    static func decodeFromPem(text: String): DHParamters
}

功能:提供 DH 参数接口。

static func decodeDer(DerBlob)

static func decodeDer(blob: DerBlob): DHParamters

功能:将 DH 密钥参数从 DER 格式解码。

说明:

  • DH(Diffie-Hellman)密钥交换协议是一种确保共享KEY安全穿越不安全网络的方法。
  • DER 和 PEM 是两种常见的编码格式,DER 是用二进制 DER 编码的证书。

参数:

  • blob: DerBlob - DER 格式的 DH 密钥参数对象。

返回值:

  • DHParamters - 由 DER 格式解码出的 DH 密钥参数。

异常:

  • X509Exception - 当 DER 格式的 DH 密钥参数内容不正确,无法解析时抛出异常。

static func decodeFromPem(String)

static func decodeFromPem(text: String): DHParamters

功能:将 DH 密钥参数从 PEM 格式解码。

说明:

PEM 是用 ASCLL(BASE64)编码的证书。

参数:

  • text: String - PEM 格式的 DH 密钥参数字符流。

返回值:

  • DHParamters - 由 PEM 格式解码出的 DH 密钥参数。

异常:

  • X509Exception - 字符流不符合 PEM 格式时,或文件头不符合 DH 密钥参数头标准 ("-----BEGIN DH PARAMETERS-----")时抛出异常。

func encodeToPem()

override func encodeToPem(): PemEntry

功能:将 DH 密钥参数编码为 PEM 格式。

返回值:

  • PemEntry - DH 密钥参数数据 PEM 格式编码生成的对象。

interface Key

public interface Key <: ToString {
    func encodeToDer(): DerBlob
    func encodeToPem(): PemEntry
    static func decodeDer(encoded: DerBlob): Key
    static func decodeFromPem(text: String): Key
}

功能:提供密钥接口。 公钥用于签名验证或加密,私钥用于签名或解密,公钥和私钥必须相互匹配并形成一对。 该类为密钥类,无具体实现,供 PrivateKey/PublicKey 及用户扩展接口。

static func decodeDer(DerBlob)

static func decodeDer(encoded: DerBlob): Key

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

参数:

  • encoded: DerBlob - DER 格式的对象。

返回值:

  • Key - 由 DER 格式解码出的密钥。

异常:

  • X509Exception - 当 DER 格式的私钥内容不正确,无法解析时抛出异常。

static func decodeFromPem(String)

static func decodeFromPem(text: String): Key

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

参数:

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

返回值:

  • Key - 由 PEM 格式解码出的密钥。

func encodeToDer()

func encodeToDer(): DerBlob

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

返回值:

  • DerBlob - 密钥数据 DER 格式编码生成的对象。

func encodeToPem()

func encodeToPem(): PemEntry

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

返回值:

  • PemEntry - 密钥数据 PEM 格式编码生成的对象。

interface PrivateKey

public interface PrivateKey <: Key {
    static func decodeDer(blob: DerBlob): PrivateKey
    static func decodeFromPem(text: String): PrivateKey
    static func decodeDer(blob: DerBlob, password!: ?String): PrivateKey
    static func decodeFromPem(text: String, password!: ?String): PrivateKey
    func encodeToDer(password!: ?String): DerBlob
    override func encodeToPem(): PemEntry
    func encodeToPem(password!: ?String): PemEntry
}

功能:提供私钥接口。

static func decodeDer(DerBlob)

static func decodeDer(blob: DerBlob): PrivateKey

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

参数:

  • blob: DerBlob - DER 格式的私钥对象。

返回值:

  • PrivateKey - 由 DER 格式解码出的私钥。

异常:

  • X509Exception - 当 DER 格式的私钥内容不正确,无法解析时抛出异常。

static func decodeDer(DerBlob, ?String)

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

功能:将 DER 格式的私钥解密解码成 PrivateKey 对象,密码为 None 时则不解密。

参数:

  • blob: DerBlob - DER 格式的私钥。
  • password!: ?String - 解密密码。

返回值:

异常:

  • X509Exception - 解密解码失败,或者 password 为空字符串。

static func decodeFromPem(String)

static func decodeFromPem(text: String): PrivateKey

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

参数:

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

返回值:

  • PrivateKey - 由 PEM 格式解码出的私钥。

异常:

  • X509Exception - 字符流不符合 PEM 格式时,或文件头不符合公钥头标准时抛出异常。

static func decodeFromPem(String, ?String)

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

功能:将 PEM 格式的私钥解密解码成 PrivateKey 对象,密码为 None 时则不解密。

参数:

  • text: String - PEM 格式的私钥。
  • password!: ?String - 解密密码。

返回值:

异常:

  • X509Exception - 解密解码失败,或者 password 为空字符串。

func encodeToDer(?String)

func encodeToDer(password!: ?String): DerBlob

功能:将私钥加密编码成 DER 格式,密码为 None 时则不加密。

参数:

  • password!: ?String - 加密密码。

返回值:

  • DerBlob - 加密后的 DER 格式的私钥。

异常:

  • X509Exception - 加密失败,或者 password 为空字符串。

func encodeToPem()

override func encodeToPem(): PemEntry

功能:将私钥编码成 PEM 格式。

返回值:

  • PemEntry - 编码后的 PEM 格式的私钥。

异常:

func encodeToPem(?String)

func encodeToPem(password!: ?String): PemEntry

功能:将私钥加密编码成 PEM 格式,密码为 None 时则不加密。

参数:

  • password!: ?String - 加密密码。

返回值:

  • PemEntry - 加密后的 PEM 格式的私钥。

异常:

  • X509Exception - 加密失败,或者 password 为空字符串。

interface PublicKey

public interface PublicKey <: Key {
    override func encodeToPem(): PemEntry
    static func decodeDer(blob: DerBlob): PublicKey
    static func decodeFromPem(text: String): PublicKey
}

功能:公钥接口接口。

static func decodeDer(DerBlob)

static func decodeDer(blob: DerBlob): PublicKey

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

参数:

  • blob: DerBlob - DER 格式的公钥对象。

返回值:

  • PublicKey - 由 DER 格式解码出的公钥。

异常:

  • X509Exception - 当 DER 格式的公钥内容不正确,无法解析时抛出异常。

static func decodeFromPem(String)

static func decodeFromPem(text: String): PublicKey

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

参数:

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

返回值:

  • PublicKey - 由 PEM 格式解码出的公钥。

异常:

  • X509Exception - 字符流不符合 PEM 格式时,或文件头不符合公钥头标准时抛出异常。

func encodeToPem()

override func encodeToPem(): PemEntry

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

返回值:

  • PemEntry - 公钥数据 PEM 格式编码生成的对象。