Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

枚举

enum PublicKeyAlgorithm

public enum PublicKeyAlgorithm <: Equatable<PublicKeyAlgorithm> & ToString {
    RSA | DSA | ECDSA | UnknownPublicKeyAlgorithm
}

功能:数字证书中包含的公钥信息,目前支持的种类有:RSA、DSA、ECDSA。

父类型:

DSA

DSA

功能:DSA 公钥算法。

ECDSA

ECDSA

功能:ECDSA 公钥算法。

RSA

RSA

功能:RSA 公钥算法。

UnknownPublicKeyAlgorithm

UnknownPublicKeyAlgorithm

功能:未知公钥算法。

func toString()

public override func toString(): String

功能:生成证书携带的公钥算法名称字符串。

返回值:

  • String - 证书携带的公钥算法名称字符串。

示例:

import stdx.crypto.x509.*

main() {
    // 创建一个 PublicKeyAlgorithm 枚举值
    let algorithm = PublicKeyAlgorithm.RSA

    // 获取算法的字符串表示
    let str = algorithm.toString()
    println("Algorithm String: ${str}")
}

运行结果:

Algorithm String: Public Key Algorithm: rsaEncryption

operator func !=(PublicKeyAlgorithm)

public override operator func !=(other: PublicKeyAlgorithm): Bool

功能:判不等。

参数:

返回值:

  • Bool - 若公钥算法不同,返回 true;否则,返回 false。

示例:

import stdx.crypto.x509.*

main() {
    // 创建两个 PublicKeyAlgorithm 枚举值
    let alg1 = PublicKeyAlgorithm.RSA
    let alg2 = PublicKeyAlgorithm.ECDSA

    // 比较两个算法是否不相等
    let isNotEqual = alg1 != alg2
    println("RSA != ECDSA: ${isNotEqual}")

    // 比较两个相同算法是否不相等
    let isNotEqualSame = alg1 != PublicKeyAlgorithm.RSA
    println("RSA != RSA: ${isNotEqualSame}")
}

运行结果:

RSA != ECDSA: true
RSA != RSA: false

operator func ==(PublicKeyAlgorithm)

public override operator func ==(other: PublicKeyAlgorithm): Bool

功能:判等。

参数:

返回值:

  • Bool - 若公钥算法相同,返回 true;否则,返回 false。

示例:

import stdx.crypto.x509.*

main() {
    // 创建两个 PublicKeyAlgorithm 枚举值
    let alg1 = PublicKeyAlgorithm.RSA
    let alg2 = PublicKeyAlgorithm.ECDSA

    // 比较两个算法是否相等
    let isEqual = alg1 == alg2
    println("RSA == ECDSA: ${isEqual}")

    // 比较两个相同算法是否相等
    let isEqualSame = alg1 == PublicKeyAlgorithm.RSA
    println("RSA == RSA: ${isEqualSame}")
}

运行结果:

RSA == ECDSA: false
RSA == RSA: true

enum SignatureAlgorithm

public enum SignatureAlgorithm <: Equatable<SignatureAlgorithm> & ToString {
    | MD2WithRSA | MD5WithRSA | SHA1WithRSA | SHA256WithRSA | SHA384WithRSA
    | SHA512WithRSA | DSAWithSHA1 | DSAWithSHA256 | ECDSAWithSHA1 | ECDSAWithSHA256
    | ECDSAWithSHA384 | ECDSAWithSHA512 | UnknownSignatureAlgorithm
}

功能:证书签名算法(Signature Algorithm)是用于数字证书签名的算法,它是一种将数字证书中的公钥和其他信息进行加密的算法,以确保数字证书的完整性和真实性。

目前支持签名算法的种类包括:MD2WithRSA 、MD5WithRSA 、SHA1WithRSA 、SHA256WithRSA 、SHA384WithRSA、SHA512WithRSA、DSAWithSHA1、DSAWithSHA256、ECDSAWithSHA1、ECDSAWithSHA256、ECDSAWithSHA384 和 ECDSAWithSHA512。

父类型:

DSAWithSHA1

DSAWithSHA1

功能:DSAwithSHA1 签名算法。

DSAWithSHA256

DSAWithSHA256

功能:DSAwithSHA256 签名算法。

ECDSAWithSHA1

ECDSAWithSHA1

功能:ECDSAwithSHA1 签名算法。

ECDSAWithSHA256

ECDSAWithSHA256

功能:ECDSAwithSHA256 签名算法。

ECDSAWithSHA384

ECDSAWithSHA384

功能:ECDSAwithSHA384 签名算法。

ECDSAWithSHA512

ECDSAWithSHA512

功能:ECDSAwithSHA512 签名算法。

MD2WithRSA

MD2WithRSA

功能:MD2withRSA 签名算法。

MD5WithRSA

MD5WithRSA

功能:MD5withRSA 签名算法。

SHA1WithRSA

SHA1WithRSA

功能:SHA1withRSA 签名算法。

SHA256WithRSA

SHA256WithRSA

功能:SHA256withRSA 签名算法。

SHA384WithRSA

SHA384WithRSA

功能:SHA384withRSA 签名算法。

SHA512WithRSA

SHA512WithRSA

功能:SHA512withRSA 签名算法。

UnknownSignatureAlgorithm

UnknownSignatureAlgorithm

功能:未知签名算法。

func toString()

public override func toString(): String

功能:生成证书签名算法名称字符串。

返回值:

  • String - 证书签名算法名称字符串。

示例:

import stdx.crypto.x509.*

main() {
    // 创建一个 SignatureAlgorithm 枚举值
    let algorithm = SignatureAlgorithm.SHA256WithRSA

    // 获取算法的字符串表示
    let str = algorithm.toString()
    println("Algorithm String: ${str}")
}

运行结果:

Algorithm String: Signature Algorithm: sha256WithRSAEncryption

operator func != (SignatureAlgorithm)

public override operator func !=(other: SignatureAlgorithm): Bool

功能:判不等。

参数:

返回值:

  • Bool - 若签名算法不同,返回 true;否则,返回 false。

示例:

import stdx.crypto.x509.*

main() {
    // 创建两个 SignatureAlgorithm 枚举值
    let alg1 = SignatureAlgorithm.SHA256WithRSA
    let alg2 = SignatureAlgorithm.ECDSAWithSHA256

    // 比较两个算法是否不相等
    let isNotEqual = alg1 != alg2
    println("SHA256WithRSA != ECDSAWithSHA256: ${isNotEqual}")

    // 比较两个相同算法是否不相等
    let isNotEqualSame = alg1 != SignatureAlgorithm.SHA256WithRSA
    println("SHA256WithRSA != SHA256WithRSA: ${isNotEqualSame}")
}

运行结果:

SHA256WithRSA != ECDSAWithSHA256: true
SHA256WithRSA != SHA256WithRSA: false

operator func == (SignatureAlgorithm)

public override operator func ==(other: SignatureAlgorithm): Bool

功能:判等。

参数:

返回值:

  • Bool - 若签名算法相同,返回 true;否则,返回 false。

示例:

import stdx.crypto.x509.*

main() {
    // 创建两个 SignatureAlgorithm 枚举值
    let alg1 = SignatureAlgorithm.SHA256WithRSA
    let alg2 = SignatureAlgorithm.ECDSAWithSHA256

    // 比较两个算法是否相等
    let isEqual = alg1 == alg2
    println("SHA256WithRSA == ECDSAWithSHA256: ${isEqual}")

    // 比较两个相同算法是否相等
    let isEqualSame = alg1 == SignatureAlgorithm.SHA256WithRSA
    println("SHA256WithRSA == SHA256WithRSA: ${isEqualSame}")
}

运行结果:

SHA256WithRSA == ECDSAWithSHA256: false
SHA256WithRSA == SHA256WithRSA: true