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 SignatureAlgorithm

public enum SignatureAlgorithm <: ToString & Equatable<SignatureAlgorithm> {
    | SignatureAndHashAlgorithm(SignatureType, HashType)
    | SignatureScheme(SignatureSchemeType)
}

功能:签名算法类型,签名算法用于确保传输数据的身份验证、完整性和真实性。

父类型:

SignatureAndHashAlgorithm(SignatureType, HashType)

SignatureAndHashAlgorithm(SignatureType, HashType)

功能:表明哪个签名和哈希算法对会被用于数字签名,自 TLS 1.2 及以后版本,包含签名和哈希算法类型。

SignatureScheme(SignatureSchemeType)

SignatureScheme(SignatureSchemeType)

功能:签名方案,自 TLS 1.3 及以后版本,业界更为推荐的指定签名算法的方式。

func toString()

public func toString():String

功能:转换签名算法的字符串表示。

返回值:

  • String - 签名算法名称。

示例:

import stdx.net.tls.*

main() {
    let sigAlg = SignatureAlgorithm.SignatureScheme(RSA_PKCS1_SHA256)
    let str = sigAlg.toString()
    println("签名算法的字符串表示: ${str}")
    return 0
}

运行结果:

签名算法的字符串表示: rsa_pkcs1_sha256

operator func !=(SignatureAlgorithm)

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

功能:判断签名算法类型是否不同。

参数:

返回值:

  • Bool - 不相同返回 true;否则,返回 false

示例:

import stdx.net.tls.*
import stdx.crypto.digest.*

main() {
    let sigAlg1 = SignatureAlgorithm.SignatureAndHashAlgorithm(SignatureType.RSA, HashType.SHA256)
    let sigAlg2 = SignatureAlgorithm.SignatureAndHashAlgorithm(SignatureType.ECDSA, HashType.SHA256)
    let isNotEqual = sigAlg1 != sigAlg2
    println("签名算法是否不同: ${isNotEqual}")
    return 0
}

运行结果:

签名算法是否不同: true

operator func ==(SignatureAlgorithm)

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

功能:判断签名算法类型是否相同。

参数:

返回值:

  • Bool - 相同返回 true;否则,返回 false

示例:

import stdx.net.tls.*
import stdx.crypto.digest.*

main() {
    let sigAlg1 = SignatureAlgorithm.SignatureAndHashAlgorithm(SignatureType.RSA, HashType.SHA256)
    let sigAlg2 = SignatureAlgorithm.SignatureAndHashAlgorithm(SignatureType.RSA, HashType.SHA256)
    let isEqual = sigAlg1 == sigAlg2
    println("签名算法是否相同: ${isEqual}")
    return 0
}

运行结果:

签名算法是否相同: true

enum SignatureSchemeType

public enum SignatureSchemeType <: ToString & Equatable<SignatureSchemeType> {
    | RSA_PKCS1_SHA256
    | RSA_PKCS1_SHA384
    | RSA_PKCS1_SHA512
    | ECDSA_SECP256R1_SHA256
    | ECDSA_SECP384R1_SHA384
    | ECDSA_SECP521R1_SHA512
    | RSA_PSS_RSAE_SHA256
    | RSA_PSS_RSAE_SHA384
    | RSA_PSS_RSAE_SHA512
    | ED25519
    | ED448
    | RSA_PSS_PSS_SHA256
    | RSA_PSS_PSS_SHA384
    | RSA_PSS_PSS_SHA512
}

功能:加密算法类型,用于保护网络通信的安全性和隐私性。

父类型:

ECDSA_SECP256R1_SHA256

ECDSA_SECP256R1_SHA256

功能:创建一个 ECDSA_SECP256R1_SHA256 类型的枚举实例,表示加密算法类型使用 ECDSA_SECP256R1_SHA256

ECDSA_SECP384R1_SHA384

ECDSA_SECP384R1_SHA384

功能:创建一个 ECDSA_SECP384R1_SHA384 类型的枚举实例,表示加密算法类型使用 ECDSA_SECP384R1_SHA384

ECDSA_SECP521R1_SHA512

ECDSA_SECP521R1_SHA512

功能:创建一个 ECDSA_SECP521R1_SHA512 类型的枚举实例,表示加密算法类型使用 ECDSA_SECP521R1_SHA512

ED25519

ED25519

功能:创建一个 ED25519 类型的枚举实例,表示加密算法类型使用 ED25519。

ED448

ED448

功能:创建一个 ED448 类型的枚举实例,表示加密算法类型使用 ED448。

RSA_PKCS1_SHA256

RSA_PKCS1_SHA256

功能:创建一个 RSA_PKCS1_SHA256 类型的枚举实例,表示加密算法类型使用 RSA_PKCS1_SHA256

RSA_PKCS1_SHA384

RSA_PKCS1_SHA384

功能:创建一个 RSA_PKCS1_SHA384 类型的枚举实例,表示加密算法类型使用 RSA_PKCS1_SHA384

RSA_PKCS1_SHA512

RSA_PKCS1_SHA512

功能:创建一个 RSA_PKCS1_SHA512 类型的枚举实例,表示加密算法类型使用 RSA_PKCS1_SHA512

RSA_PSS_PSS_SHA256

RSA_PSS_PSS_SHA256

功能:创建一个 RSA_PSS_PSS_SHA256 类型的枚举实例,表示加密算法类型使用 RSA_PSS_PSS_SHA256

RSA_PSS_PSS_SHA384

RSA_PSS_PSS_SHA384

功能:创建一个 RSA_PSS_PSS_SHA384 类型的枚举实例,表示加密算法类型使用 RSA_PSS_PSS_SHA384

RSA_PSS_PSS_SHA512

RSA_PSS_PSS_SHA512

功能:创建一个 RSA_PSS_PSS_SHA512 类型的枚举实例,表示加密算法类型使用 RSA_PSS_PSS_SHA512

RSA_PSS_RSAE_SHA256

RSA_PSS_RSAE_SHA256

功能:创建一个 RSA_PSS_RSAE_SHA256 类型的枚举实例,表示加密算法类型使用 RSA_PSS_RSAE_SHA256

RSA_PSS_RSAE_SHA384

RSA_PSS_RSAE_SHA384

功能:创建一个 RSA_PSS_RSAE_SHA384 类型的枚举实例,表示加密算法类型使用 RSA_PSS_RSAE_SHA384

RSA_PSS_RSAE_SHA512

RSA_PSS_RSAE_SHA512

功能:创建一个 RSA_PSS_RSAE_SHA512 类型的枚举实例,表示加密算法类型使用 RSA_PSS_RSAE_SHA384

func toString()

public func toString(): String

功能:加密算法类型的字符串表示。

RSA_PKCS1_SHA256 的字符串表示为 "rsa_pkcs1_sha256"。

返回值:

  • String - 加密算法类型的字符串表示。

示例:

import stdx.net.tls.*

main() {
    let schemeType = SignatureSchemeType.RSA_PKCS1_SHA256
    let str = schemeType.toString()
    println("签名方案类型的字符串表示: ${str}")
    return 0
}

运行结果:

签名方案类型的字符串表示: rsa_pkcs1_sha256

operator func !=(SignatureSchemeType)

public operator func !=(other: SignatureSchemeType): Bool

功能:判断两者是否为不同加密算法类型。

参数:

返回值:

  • Bool - 不相同返回 true;否则,返回 false。

示例:

import stdx.net.tls.*

main() {
    let schemeType1 = SignatureSchemeType.RSA_PKCS1_SHA256
    let schemeType2 = SignatureSchemeType.ECDSA_SECP256R1_SHA256
    let isNotEqual = schemeType1 != schemeType2
    println("签名方案类型是否不同: ${isNotEqual}")
    return 0
}

运行结果:

签名方案类型是否不同: true

operator func ==(SignatureSchemeType)

public operator func ==(other: SignatureSchemeType): Bool

功能:判断两者是否为同一加密算法类型。

参数:

返回值:

  • Bool - 相同返回 true;否则,返回 false。

示例:

import stdx.net.tls.*

main() {
    let schemeType1 = SignatureSchemeType.RSA_PKCS1_SHA256
    let schemeType2 = SignatureSchemeType.RSA_PKCS1_SHA256
    let isEqual = schemeType1 == schemeType2
    println("签名方案类型是否相同: ${isEqual}")
    return 0
}

运行结果:

签名方案类型是否相同: true

enum SignatureType

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

功能:签名算法类型,用于认证真实性。参见 RFC5246 7.4.1.4.1 章节。

父类型:

DSA

DSA

功能:创建一个 DSA 类型的枚举实例,表示采用数字签名算法。

ECDSA

ECDSA

功能:创建一个 ECDSA 类型的枚举实例,表示采用椭圆曲线数字签名算法。

RSA

RSA

功能:创建一个 RSA 类型的枚举实例,表示采用 RSA 加密算法。

func toString()

public func toString(): String

功能:转换为签名算法的字符串表示。

返回值:

  • String - 签名算法的名称。

示例:

import stdx.net.tls.*

main() {
    let sigType = SignatureType.RSA
    let str = sigType.toString()
    println("签名类型的字符串表示: ${str}")
    return 0
}

运行结果:

签名类型的字符串表示: RSA

operator func !=(SignatureType)

public operator func !=(other: SignatureType): Bool

功能:判断两者是否为不同的签名算法。

参数:

返回值:

  • Bool - 不相同返回 true;否则,返回 false

示例:

import stdx.net.tls.*

main() {
    let sigType1 = SignatureType.RSA
    let sigType2 = SignatureType.ECDSA
    let isNotEqual = sigType1 != sigType2
    println("签名类型是否不同: ${isNotEqual}")
    return 0
}

运行结果:

签名类型是否不同: true

operator func ==(SignatureType)

public operator func ==(other: SignatureType): Bool

功能:判断两者是否为相同的签名算法。

参数:

返回值:

  • Bool - 相同返回 true;否则,返回 false

示例:

import stdx.net.tls.*

main() {
    let sigType1 = SignatureType.RSA
    let sigType2 = SignatureType.RSA
    let isEqual = sigType1 == sigType2
    println("签名类型是否相同: ${isEqual}")
    return 0
}

运行结果:

签名类型是否相同: true

enum TlsClientIdentificationMode

public enum TlsClientIdentificationMode {
    | Disabled
    | Optional
    | Required
}

功能:服务端对客户端证书的认证模式。

Disabled

Disabled

功能:表示服务端不校验客户端证书,客户端可以不发送证书和公钥,即单向认证。

Optional

Optional

功能:表示服务端校验客户端证书,但客户端可以不提供证书及公钥,不提供时则单向认证,提供时则为双向认证。

Required

Required

功能:表示服务端校验客户端证书,并且要求客户端必须提供证书和公钥,即双向认证。