NIOSSL
import NIOSSL
import NIOSSL
typealias NIOBoringSSLErrorStack
A representation of BoringSSL’s internal error stack: a list of BoringSSL errors.
typealias NIOPSKClientIdentityCallback
PSK Identity Callback Manager
typealias NIOPSKServerIdentityCallback
typealias NIOSSLCustomVerificationCallback
A custom verification callback that allows completely overriding the certificate verification logic of BoringSSL.
typealias NIOSSLKeyLogCallback
A callback that can be used to implement SSLKEYLOGFILE
support.
typealias NIOSSLPassphraseCallback
An NIOSSLPassphraseCallback
is a callback that will be invoked by NIOSSL when it needs to get access to a private key that is stored in encrypted form.
typealias NIOSSLPassphraseSetter
An NIOSSLPassphraseSetter
is a closure that you must invoke to provide a passphrase to BoringSSL. It will be provided to you when your NIOSSLPassphraseCallback
is invoked.
typealias NIOSSLVerificationCallback
A custom verification callback.
let defaultCipherSuites: String
A secure default configuration of cipher suites for TLS 1.2 and earlier.
enum BoringSSLError
An enum that wraps individual BoringSSL errors directly.
enum CertificateVerification
Certificate verification modes.
enum NIORenegotiationSupport
Support for TLS renegotiation.
enum NIOSSLAdditionalTrustRoots
Places NIOSSL can obtain additional trust roots from.
enum NIOSSLCertificateSource
Places NIOSSL can obtain certificates from.
enum NIOSSLError
Errors that can be raised by NIO’s BoringSSL wrapper.
enum NIOSSLPrivateKeySource
Places NIOSSL can obtain private keys from.
enum NIOSSLSerializationFormats
Formats NIOSSL supports for serializing keys and certificates.
enum NIOSSLTrustRoots
Places NIOSSL can obtain a trust store from.
enum NIOSSLVerificationResult
The result of an attempt to verify an X.509 certificate.
enum NIOTLSUnwrappingError
Represents errors that may occur while attempting to unwrap TLS from a connection.
enum TLSVersion
Known and supported TLS versions.
struct BoringSSLInternalError
Wraps a single error from BoringSSL.
struct NIOSSLClientTLSProvider
A TLS provider to bootstrap TLS-enabled connections with NIOClientTCPBootstrap
.
struct NIOSSLCloseTimedOutError
Closing the TLS channel cleanly timed out, so it was closed uncleanly.
struct NIOSSLExtraError
This structure contains errors added to NIOSSL after the original NIOSSLError
enum was shipped. This is an extensible error object that allows us to evolve it going forward.
struct NIOSSLObjectIdentifier
Object Identifier (OID)
struct NIOSSLPKCS12Bundle
A container of a single PKCS#12 bundle.
struct NIOSSLSecureBytes
struct NIOTLSCipher
Available ciphers to use for TLS instead of a string based representation.
struct PSKClientIdentityResponse
PSK Client Identity response type used in the callback.
struct PSKServerIdentityResponse
PSK Server Identity response type used in the callback.
struct SignatureAlgorithm
Signature algorithms. The values are defined as in TLS 1.3
struct TLSConfiguration
Manages configuration of TLS for SwiftNIO programs.
class NIOSSLCertificate
A reference to a BoringSSL Certificate object (X509 *
).
class NIOSSLClientHandler
A channel handler that wraps a channel in TLS using NIOSSL. This handler can be used in channels that are acting as the client in the TLS dialog. For server connections, use the NIOSSLServerHandler
.
class NIOSSLContext
A wrapper class that encapsulates BoringSSL’s SSL_CTX *
object.
class NIOSSLHandler
The base class for all NIOSSL handlers. This class cannot actually be instantiated by users directly: instead, users must select which mode they would like their handler to operate in, client or server.
class NIOSSLPrivateKey
A reference to an BoringSSL private key object in the form of an EVP_PKEY *
.
class NIOSSLPublicKey
An NIOSSLPublicKey
is an abstract handle to a public key owned by BoringSSL.
class NIOSSLServerHandler
A channel handler that wraps a channel in TLS using NIOSSL. This handler can be used in channels that are acting as the server in the TLS dialog. For client connections, use the NIOSSLClientHandler
.
protocol NIOSSLCustomPrivateKey
NIOSSLCustomPrivateKey
defines the interface of a custom, non-BoringSSL private key.