diff --git a/Sources/X509/CertificatePrivateKey.swift b/Sources/X509/CertificatePrivateKey.swift index 0d8b8172..f1082ed1 100644 --- a/Sources/X509/CertificatePrivateKey.swift +++ b/Sources/X509/CertificatePrivateKey.swift @@ -15,7 +15,7 @@ import SwiftASN1 import Foundation @preconcurrency import Crypto -@preconcurrency import _CryptoExtras +import _CryptoExtras extension Certificate { /// A private key that can be used with a certificate. diff --git a/Sources/X509/CertificatePublicKey.swift b/Sources/X509/CertificatePublicKey.swift index c709c035..9d9c4dd6 100644 --- a/Sources/X509/CertificatePublicKey.swift +++ b/Sources/X509/CertificatePublicKey.swift @@ -14,7 +14,7 @@ import SwiftASN1 @preconcurrency import Crypto -@preconcurrency import _CryptoExtras +import _CryptoExtras import Foundation extension Certificate { diff --git a/Sources/X509/Error.swift b/Sources/X509/Error.swift index a53615b5..984abac0 100644 --- a/Sources/X509/Error.swift +++ b/Sources/X509/Error.swift @@ -249,6 +249,9 @@ public struct CertificateError: Error, Hashable, CustomStringConvertible { } } +// `CertificateError` is `Sendable` because it uses CoW +extension CertificateError: @unchecked Sendable {} + extension CertificateError { /// Represents the kind of an error. /// diff --git a/Sources/X509/OCSP/OCSPPolicy.swift b/Sources/X509/OCSP/OCSPPolicy.swift index 78863bf0..9b32f6fd 100644 --- a/Sources/X509/OCSP/OCSPPolicy.swift +++ b/Sources/X509/OCSP/OCSPPolicy.swift @@ -320,6 +320,7 @@ extension OCSPVerifierPolicy.Storage { return responderURI }.first guard let responderURI else { + let ocspAccessDescriptions = Array(ocspAccessDescriptions) return self.softFailure( reason: .init("expected OCSP location to be a URI but got \(ocspAccessDescriptions)") ) diff --git a/Sources/X509/PromiseAndFuture.swift b/Sources/X509/PromiseAndFuture.swift index b1e3a8c9..fab152e4 100644 --- a/Sources/X509/PromiseAndFuture.swift +++ b/Sources/X509/PromiseAndFuture.swift @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// // MARK: - Promise -final class Promise { +final class Promise { private enum State { case unfulfilled(observers: [CheckedContinuation, Never>]) case fulfilled(Result) @@ -83,7 +83,7 @@ extension Promise { // MARK: - Future -struct Future { +struct Future { private let promise: Promise init(_ promise: Promise) { diff --git a/Sources/X509/Signature.swift b/Sources/X509/Signature.swift index 400fc10f..fe31f8fb 100644 --- a/Sources/X509/Signature.swift +++ b/Sources/X509/Signature.swift @@ -13,7 +13,7 @@ //===----------------------------------------------------------------------===// import SwiftASN1 -@preconcurrency import _CryptoExtras +import _CryptoExtras import Foundation extension Certificate {