VerificationDiagnostic
VerificationDiagnostic.swift:17- iOS
- 13+
- macOS
- 10.15+
- tvOS
- 13+
- watchOS
- 6+
struct VerificationDiagnostic
struct VerificationDiagnostic
import X509
A library for working with X.509 certificates.
struct Verifier<Policy> where Policy : VerifierPolicy
protocol VerifierPolicy
A VerifierPolicy
implements a series of checks on an UnverifiedCertificateChain
in order to determine whether that chain should be trusted.
struct UnverifiedCertificateChain
@resultBuilder struct PolicyBuilder
Provides a result-builder style DSL for constructing a VerifierPolicy
.
struct PolicyFailureReason
struct AnyPolicy
AnyPolicy
can be used to erase the concrete type of some VerifierPolicy
. Only use AnyPolicy
if type erasure is necessary. Instead try to use conditional inclusion of different policies using PolicyBuilder
.
@resultBuilder struct OneOfPolicyBuilder
Provides a result-builder style DSL for constructing a VerifierPolicy
in which one of the specified policies must match.
struct OneOfPolicies<Policy> where Policy : VerifierPolicy
Use this to build a policy where any one of the sub-policies must be met for the overall policy to be met. For example, the following policy requires that RFC5280Policy is always met, and either PolicyA or PolicyB is met. It does not require that both PolicyA and PolicyB are met.
struct AllOfPolicies<Policy> where Policy : VerifierPolicy
Use this to build a policy where all of the sub-policies must be met for the overall policy to be met. This is only useful within a OneOfPolicies block, because at the top-level, it is already required for all policies to be met, so adding this at the top-level is redundant. For example, the following policy requires that RFC5280Policy is always met, and then either policy C is met, or A and B are both met. If A and B are both met, then C does not have to be met. If C is met, then neither A nor B need to be met.
struct CertificateStore
A collection of Certificate
objects for use in a verifier.
protocol Copyable
A type whose values can be implicitly or explicitly copied.
protocol CustomDebugStringConvertible
A type with a customized textual representation suitable for debugging purposes.
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Escapable
protocol Sendable
var debugDescription: String { get }
var description: String { get }
Produces a human readable description of this VerificationDiagnostic
that is potentially expensive to compute.
var multilineDescription: String { get }
Produces a human readable description of this VerificationDiagnostic
over multiple lines for better readability but includes otherwise the same information as description
.