Build Information
Successful build of YubiKit, reference v1.4.0 (e19212), with Swift 6.4 for macOS (SPM) on 30 Sep 2026 05:54:52 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Yubico/yubikit-swift.git
Reference: v1.4.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Yubico/yubikit-swift
* tag v1.4.0 -> FETCH_HEAD
HEAD is now at e19212f Merge remote-tracking branch 'origin/release/1.4.0'
Cloned https://github.com/Yubico/yubikit-swift.git
Revision (git rev-parse @):
e19212f2efbca9af280e57542e669885de5acdc1
SUCCESS checkout https://github.com/Yubico/yubikit-swift.git at v1.4.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Yubico/yubikit-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 154]
[Planning deferred tasks]
[32 / 58]
[33 / 59] Logging
[42 / 86]
[46 / 86]
[48 / 86]
[49 / 86]
[60 / 86] Logging
[61 / 86] Logging
[67 / 87] Logging
[69 / 87] YubiKit
[78 / 123]
[80 / 123]
[82 / 123]
[85 / 123]
[88 / 123]
[90 / 123]
[91 / 123]
[105 / 123] YubiKit
[107 / 123] YubiKit
[112 / 124] YubiKit
[112 / 131] YubiKitIntegrationScenarios
[122 / 176]
[127 / 176]
[133 / 176]
[134 / 176] YubiKit
[137 / 176] YubiKit-product
[140 / 176]
[142 / 176]
[144 / 176]
[147 / 176]
[150 / 176]
[152 / 176]
[153 / 176]
[167 / 176] YubiKitIntegrationScenarios
[173 / 176] YubiKitIntegrationScenarios
Build complete! (14.62 sec)
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/apple/swift-log
[1/2345] Fetching swift-docc-plugin
[166/10510] Fetching swift-docc-plugin, swift-log
Fetched https://github.com/swiftlang/swift-docc-plugin (1.50s)
Fetched https://github.com/apple/swift-log (1.50s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (4.32s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3832] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.36s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.11s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.15.1 (0.60s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.15.1
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/Management/ManagementSession.swift:52:33: [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m // NEXTMAJOR: Remove SmartCardSession conformance
[0;36m51 |[0;0m // NEXTMAJOR: Consider if this needs to be an actor - it has no mutable state
[0;36m52 |[0;0m public final actor Session: SmartCardSession {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m
[0;36m54 |[0;0m public typealias Error = ManagementSessionError
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/OATH/OATHSession.swift:34:20: [1;33mwarning: [1;39mconformance of 'OATHSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m32 |[0;0m /// let you store, calculate and edit TOTP and HOTP credentials on the YubiKey. Learn
[0;36m33 |[0;0m /// more about OATH on the [Yubico developer website](https://developers.yubico.com/OATH/).
[0;36m34 |[0;0m public final actor OATHSession: SmartCardSessionInternal {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'OATHSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m35 |[0;0m
[0;36m36 |[0;0m public typealias Feature = OATHSessionFeature
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/PIV/PIVSession.swift:25:20: [1;33mwarning: [1;39mconformance of 'PIVSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m23 |[0;0m /// X.509 certificates and managing access (PIN, PUK, etc).
[0;36m24 |[0;0m
[0;36m25 |[0;0m public final actor PIVSession: SmartCardSessionInternal {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'PIVSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m26 |[0;0m public static let application: Application = .piv
[0;36m27 |[0;0m
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/SCP/SecurityDomainSession.swift:26:20: [1;33mwarning: [1;39mconformance of 'SecurityDomainSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m24 |[0;0m /// Create with ``makeSession(connection:scpKeyParams:)`` and call the instance
[0;36m25 |[0;0m /// methods as needed.
[0;36m26 |[0;0m public final actor SecurityDomainSession: SmartCardSessionInternal, HasSecurityDomainLogger {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'SecurityDomainSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m27 |[0;0m public static let application: Application = .securityDomain
[0;36m28 |[0;0m
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/Session/SmartCard/SmartCardSession.swift:61:36: [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m59 |[0;0m
[0;36m60 |[0;0m // NEXTMAJOR: Remove this protocol when SmartCardSession is removed
[0;36m61 |[0;0m protocol SmartCardSessionInternal: SmartCardSession {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m62 |[0;0m var interface: SmartCardInterface<Error> { get }
[0;36m63 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift:92:77: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m72 |[0;0m ) -> CTAP2.StatusStream<O> where Error == CTAP2.SessionError {
[0;36m73 |[0;0m
[0;36m74 |[0;0m CTAP2.StatusStream<O> { continuation in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m75 |[0;0m Task {
[0;36m76 |[0;0m do throws(CTAP2.SessionError) {
[0;36m:[0;0m
[0;36m90 |[0;0m // Create cancel closure that calls the interface's cancel method
[0;36m91 |[0;0m // Any errors during cancellation are yielded to the stream
[0;36m92 |[0;0m let cancelClosure: @Sendable () async -> Void = { [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m93 |[0;0m do throws(CTAP2.SessionError) {
[0;36m94 |[0;0m try await self?.cancel()
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/FIDO/Interfaces/SmartCardInterface+CBORInterface.swift:92:77: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m69 |[0;0m ) -> CTAP2.StatusStream<O> {
[0;36m70 |[0;0m
[0;36m71 |[0;0m CTAP2.StatusStream<O> { continuation in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m72 |[0;0m Task {
[0;36m73 |[0;0m do throws(CTAP2.SessionError) {
[0;36m:[0;0m
[0;36m90 |[0;0m // Create cancel closure that sets the flag
[0;36m91 |[0;0m // Any errors during cancellation are yielded to the stream
[0;36m92 |[0;0m let cancelClosure: @Sendable () async -> Void = { [weak self] in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m93 |[0;0m do throws(CTAP2.SessionError) {
[0;36m94 |[0;0m try await self?.cancel()
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/SCP/SecurityDomainSession.swift:26:20: [1;33mwarning: [1;39mconformance of 'SecurityDomainSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m24 |[0;0m /// Create with ``makeSession(connection:scpKeyParams:)`` and call the instance
[0;36m25 |[0;0m /// methods as needed.
[0;36m26 |[0;0m public final actor SecurityDomainSession: SmartCardSessionInternal, HasSecurityDomainLogger {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'SecurityDomainSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m27 |[0;0m public static let application: Application = .securityDomain
[0;36m28 |[0;0m
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/Session/SmartCard/SmartCardSession.swift:61:36: [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m59 |[0;0m
[0;36m60 |[0;0m // NEXTMAJOR: Remove this protocol when SmartCardSession is removed
[0;36m61 |[0;0m protocol SmartCardSessionInternal: SmartCardSession {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m62 |[0;0m var interface: SmartCardInterface<Error> { get }
[0;36m63 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/Management/ManagementSession.swift:52:33: [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m // NEXTMAJOR: Remove SmartCardSession conformance
[0;36m51 |[0;0m // NEXTMAJOR: Consider if this needs to be an actor - it has no mutable state
[0;36m52 |[0;0m public final actor Session: SmartCardSession {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SmartCardSession' is deprecated: Do not use SmartCardSession as a generic constraint. Use concrete session types directly.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m
[0;36m54 |[0;0m public typealias Error = ManagementSessionError
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/OATH/OATHSession.swift:34:20: [1;33mwarning: [1;39mconformance of 'OATHSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m32 |[0;0m /// let you store, calculate and edit TOTP and HOTP credentials on the YubiKey. Learn
[0;36m33 |[0;0m /// more about OATH on the [Yubico developer website](https://developers.yubico.com/OATH/).
[0;36m34 |[0;0m public final actor OATHSession: SmartCardSessionInternal {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'OATHSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m35 |[0;0m
[0;36m36 |[0;0m public typealias Feature = OATHSessionFeature
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/PIV/PIVSession.swift:25:20: [1;33mwarning: [1;39mconformance of 'PIVSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m23 |[0;0m /// X.509 certificates and managing access (PIN, PUK, etc).
[0;36m24 |[0;0m
[0;36m25 |[0;0m public final actor PIVSession: SmartCardSessionInternal {
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'PIVSession' to 'SmartCardSession' is deprecated: Use concrete session types directly instead of SmartCardSession protocol.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m26 |[0;0m public static let application: Application = .piv
[0;36m27 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/YubiKit/YubiKit/Connection/SmartCard/USBSmartCardConnection.swift:292:9: [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m290 |[0;0m
[0;36m291 |[0;0m // register for the eventual clean up when the connection is closed
[0;36m292 |[0;0m Task {
[0;36m|[0;0m |- [1;33mwarning: [1;39munstructured throwing task created by 'init(name:priority:operation:)' is not used, which may accidentally ignore errors thrown inside the task[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task\NoUseUnstructuredThrowingTask]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mto silence this warning, handle the error inside the task, or store/discard the task value explicitly[0;0m
[0;36m293 |[0;0m _ = try await state.didClose.value()
[0;36m294 |[0;0m state.card.endSession()
[#NoUseUnstructuredThrowingTask]: <https://docs.swift.org/compiler/documentation/diagnostics/no-use-throwing-unstructured-task>
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
}
],
"manifest_display_name" : "YubiKit",
"name" : "YubiKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "YubiKit",
"targets" : [
"YubiKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "YubiKitIntegrationScenarios",
"targets" : [
"YubiKitIntegrationScenarios"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "YubiKitTests",
"module_type" : "SwiftTarget",
"name" : "YubiKitTests",
"path" : "YubiKit/UnitTests",
"sources" : [
"CBORTests.swift",
"COSE/COSEKeyTests.swift",
"CompressionTests.swift",
"Connection/MockSmartCardConnection.swift",
"Connection/SmartCardInterfaceTests.swift",
"Crypto/Curve25519KeysTests.swift",
"Crypto/ECKeysTests.swift",
"Crypto/HashingPlusKDFTests.swift",
"Crypto/RSAKeysTests.swift",
"Crypto/SymmetricCryptoTests.swift",
"Data+ExtensionsTests.swift",
"FIDO/CTAP/ExtensionTests.swift",
"FIDO/CTAP/MakeCredentialSerializationTests.swift",
"FIDO/CTAP/PinAuthTests.swift",
"FIDO/WebAuthn/AuthenticatorBackendTests.swift",
"FIDO/WebAuthn/AuthorizationOperationTests.swift",
"FIDO/WebAuthn/CeremonyTests.swift",
"FIDO/WebAuthn/CredentialPreprocessingTests.swift",
"FIDO/WebAuthn/ExtensionAllowlistTests.swift",
"FIDO/WebAuthn/MockCTAP2Backend.swift",
"FIDO/WebAuthn/OriginTests.swift",
"FIDO/WebAuthn/PINRetryTests.swift",
"FIDO/WebAuthn/ResponseParsingTests.swift",
"FIDO/WebAuthn/SerializationTests+JSON.swift",
"FIDO/WebAuthn/SerializationTests.swift",
"FIDO/WebAuthn/StatusStreamTests.swift",
"FIDO/WebAuthn/TestHelpers.swift",
"FIDO/WebAuthn/ThirdPartyPaymentBuildingTests.swift",
"FIDO/WebAuthn/UVFallbackToPINTests.swift",
"FIDO/WebAuthn/UVRetryTests.swift",
"OATHCredentialTemplateUnitTests.swift",
"OTP/CRC16Tests.swift",
"OTP/ChallengeResponseStreamTests.swift",
"OTP/FakeOTPConnection.swift",
"OTP/ModhexTests.swift",
"OTP/NDEFConfigurationTests.swift",
"OTP/OTPKeyboardInterfaceTests.swift",
"OTP/SlotConfigurationTests.swift",
"OTP/YubiOTPSessionTests.swift",
"PIVDataFormatterTests.swift",
"PIVPinTests.swift"
],
"target_dependencies" : [
"YubiKit"
],
"type" : "test"
},
{
"c99name" : "YubiKitIntegrationScenarios",
"module_type" : "SwiftTarget",
"name" : "YubiKitIntegrationScenarios",
"path" : "YubiKit/IntegrationScenarios",
"product_memberships" : [
"YubiKitIntegrationScenarios"
],
"sources" : [
"Engine/Gate.swift",
"Engine/RandomBytes.swift",
"Engine/Requirements.swift",
"Engine/Scenario+Parameterized.swift",
"Engine/Scenario.swift",
"Engine/ScenarioContext+Sessions.swift",
"Engine/ScenarioContext.swift",
"Engine/ScenarioResult.swift",
"Engine/ScenarioRunner.swift",
"Engine/SecureChannelPolicy.swift",
"Providers/ConnectionProvider.swift",
"Providers/NFCConnectionProvider.swift",
"Providers/WiredConnectionProvider.swift",
"ScenarioCatalog.swift",
"Scenarios/CTAP2.swift",
"Scenarios/CTAPHID.swift",
"Scenarios/Connection.swift",
"Scenarios/Management.swift",
"Scenarios/OATH.swift",
"Scenarios/OTP.swift",
"Scenarios/PIV.swift",
"Scenarios/SCP.swift",
"Scenarios/WebAuthn.swift",
"Support/ARKG/ARKG.swift",
"Support/ARKG/P256Arithmetic.swift",
"Support/Data+Hex.swift"
],
"target_dependencies" : [
"YubiKit"
],
"type" : "library"
},
{
"c99name" : "YubiKit",
"module_type" : "SwiftTarget",
"name" : "YubiKit",
"path" : "YubiKit/YubiKit",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"YubiKit",
"YubiKitIntegrationScenarios"
],
"sources" : [
"APDU.swift",
"BackwardsCompatibility.swift",
"Compression/Data+Compression.swift",
"Compression/Data+Gids.swift",
"Compression/Data+Gzip.swift",
"Connection/Connection.swift",
"Connection/FIDO/FIDOConnection.swift",
"Connection/FIDO/HIDFIDOConnection.swift",
"Connection/OTP/HIDOTPConnection.swift",
"Connection/OTP/OTPConnection.swift",
"Connection/SmartCard/LightningSmartCardConnection.swift",
"Connection/SmartCard/NFCSmartCardConnection+Simulator.swift",
"Connection/SmartCard/NFCSmartCardConnection.swift",
"Connection/SmartCard/SmartCardConnection.swift",
"Connection/SmartCard/SmartCardConnections.swift",
"Connection/SmartCard/USBSmartCardConnection+Simulator.swift",
"Connection/SmartCard/USBSmartCardConnection.swift",
"Connection/SmartCardConnection+Simulator.swift",
"Crypto/Crypto.swift",
"Crypto/CryptoError.swift",
"Crypto/Curve25519.swift",
"Crypto/Data+Crypto.swift",
"Crypto/Keys+Crypto.swift",
"Crypto/SecKey+Crypto.swift",
"Errors/Connection/FIDOConnectionError.swift",
"Errors/Connection/OTPConnectionError.swift",
"Errors/Connection/SmartCardConnectionError.swift",
"Errors/Session/FIDOSessionError.swift",
"Errors/Session/ManagementSessionError.swift",
"Errors/Session/OATHSessionError.swift",
"Errors/Session/PIVSessionError.swift",
"Errors/Session/SCPError.swift",
"Errors/Session/SessionError.swift",
"Errors/Session/SmartCardSessionError.swift",
"Errors/Session/YubiOTP+SessionError.swift",
"Errors/SourceLocation.swift",
"FIDO/CBOR/CBOR+Decode.swift",
"FIDO/CBOR/CBOR+Encode.swift",
"FIDO/CBOR/CBOR.swift",
"FIDO/CBOR/CBORDecodables.swift",
"FIDO/CBOR/CBOREncodables.swift",
"FIDO/CBOR/CBORError.swift",
"FIDO/CBOR/CBORValue.swift",
"FIDO/COSE/COSE.swift",
"FIDO/COSE/PublicKey+COSE.swift",
"FIDO/CTAP/BioEnrollment/BioEnrollment.swift",
"FIDO/CTAP/BioEnrollment/BioEnrollmentTypes+CBOR.swift",
"FIDO/CTAP/BioEnrollment/BioEnrollmentTypes.swift",
"FIDO/CTAP/CTAP2.swift",
"FIDO/CTAP/CTAPError.swift",
"FIDO/CTAP/ClientPIN/Commands+CBOR.swift",
"FIDO/CTAP/ClientPIN/Commands+Parameters.swift",
"FIDO/CTAP/ClientPIN/Commands+Responses.swift",
"FIDO/CTAP/ClientPIN/Commands.swift",
"FIDO/CTAP/ClientPIN/Permissions.swift",
"FIDO/CTAP/ClientPIN/ProtocolVersion+Crypto.swift",
"FIDO/CTAP/ClientPIN/Types.swift",
"FIDO/CTAP/Config/Config.swift",
"FIDO/CTAP/CredentialManagement/CredentialManagement+AsyncSequence.swift",
"FIDO/CTAP/CredentialManagement/CredentialManagement+Types+CBOR.swift",
"FIDO/CTAP/CredentialManagement/CredentialManagement+Types.swift",
"FIDO/CTAP/CredentialManagement/CredentialManagement.swift",
"FIDO/CTAP/Extensions/CredBlob.swift",
"FIDO/CTAP/Extensions/CredProtect.swift",
"FIDO/CTAP/Extensions/Extension.swift",
"FIDO/CTAP/Extensions/HmacSecret.swift",
"FIDO/CTAP/Extensions/LargeBlobKey.swift",
"FIDO/CTAP/Extensions/MinPinLength.swift",
"FIDO/CTAP/Extensions/PreviewSign.swift",
"FIDO/CTAP/Extensions/ThirdPartyPayment.swift",
"FIDO/CTAP/GetAssertion/GetAssertionParameters+CBOR.swift",
"FIDO/CTAP/GetAssertion/GetAssertionParameters.swift",
"FIDO/CTAP/GetAssertion/GetAssertionResponse+CBOR.swift",
"FIDO/CTAP/GetAssertion/GetAssertionResponse.swift",
"FIDO/CTAP/GetInfo/AuthenticatorOptions.swift",
"FIDO/CTAP/GetInfo/GetInfoImmutableView.swift",
"FIDO/CTAP/GetInfo/GetInfoResponse+CBOR.swift",
"FIDO/CTAP/GetInfo/GetInfoResponse.swift",
"FIDO/CTAP/LargeBlobs/CTAPSession+LargeBlobs.swift",
"FIDO/CTAP/LargeBlobs/Entry+CBOR.swift",
"FIDO/CTAP/LargeBlobs/Entry.swift",
"FIDO/CTAP/MakeCredential/MakeCredentialParameters+CBOR.swift",
"FIDO/CTAP/MakeCredential/MakeCredentialParameters.swift",
"FIDO/CTAP/MakeCredential/MakeCredentialResponse+CBOR.swift",
"FIDO/CTAP/MakeCredential/MakeCredentialResponse.swift",
"FIDO/CTAP/Transport.swift",
"FIDO/Interfaces/CBORInterface.swift",
"FIDO/Interfaces/FIDOInterface/FIDOInterface+CBORInterface.swift",
"FIDO/Interfaces/FIDOInterface/FIDOInterface+Commands.swift",
"FIDO/Interfaces/FIDOInterface/FIDOInterface+HIDFraming.swift",
"FIDO/Interfaces/FIDOInterface/FIDOInterface.swift",
"FIDO/Interfaces/SmartCardInterface+CBORInterface.swift",
"FIDO/Session/CTAP+SessionError.swift",
"FIDO/Session/CTAPSession+ClientPIN.swift",
"FIDO/Session/CTAPSession+Creation.swift",
"FIDO/Session/CTAPSession+GetAssertion.swift",
"FIDO/Session/CTAPSession+Interface.swift",
"FIDO/Session/CTAPSession+MakeCredential.swift",
"FIDO/Session/CTAPSession.swift",
"FIDO/Session/CTAPStatusStream.swift",
"FIDO/WebAuthn/Attestation/Attestation.swift",
"FIDO/WebAuthn/Attestation/AttestationObject.swift",
"FIDO/WebAuthn/AuthenticatorData.swift",
"FIDO/WebAuthn/Client/Authentication/AuthenticationOptions.swift",
"FIDO/WebAuthn/Client/Authentication/AuthenticationResponse.swift",
"FIDO/WebAuthn/Client/Authentication/Client+GetAssertion.swift",
"FIDO/WebAuthn/Client/Authorization.swift",
"FIDO/WebAuthn/Client/Backends/AuthenticatorBackend.swift",
"FIDO/WebAuthn/Client/Backends/CTAP2Backend+GetAssertions.swift",
"FIDO/WebAuthn/Client/Backends/CTAP2Backend+MakeCredential.swift",
"FIDO/WebAuthn/Client/Backends/CTAP2Backend.swift",
"FIDO/WebAuthn/Client/Client.swift",
"FIDO/WebAuthn/Client/ClientData.swift",
"FIDO/WebAuthn/Client/ClientError.swift",
"FIDO/WebAuthn/Client/Origin.swift",
"FIDO/WebAuthn/Client/Registration/Client+MakeCredential.swift",
"FIDO/WebAuthn/Client/Registration/RegistrationOptions.swift",
"FIDO/WebAuthn/Client/Registration/RegistrationResponse.swift",
"FIDO/WebAuthn/Client/Shared/Authorization+Operation.swift",
"FIDO/WebAuthn/Client/Shared/CTAP2Backend+CredentialMatching.swift",
"FIDO/WebAuthn/Client/Shared/CTAP2Backend+Extensions.swift",
"FIDO/WebAuthn/Client/Shared/CTAP2Backend+UserVerification.swift",
"FIDO/WebAuthn/Client/Shared/Client+Validation.swift",
"FIDO/WebAuthn/Extensions/ExtensionInputs.swift",
"FIDO/WebAuthn/Extensions/ExtensionOutputs.swift",
"FIDO/WebAuthn/Extensions/Extensions+JSON.swift",
"FIDO/WebAuthn/Extensions/WebAuthnCredBlob.swift",
"FIDO/WebAuthn/Extensions/WebAuthnCredProps.swift",
"FIDO/WebAuthn/Extensions/WebAuthnCredProtect.swift",
"FIDO/WebAuthn/Extensions/WebAuthnLargeBlob.swift",
"FIDO/WebAuthn/Extensions/WebAuthnMinPinLength.swift",
"FIDO/WebAuthn/Extensions/WebAuthnPRF.swift",
"FIDO/WebAuthn/Extensions/WebAuthnPreviewSign.swift",
"FIDO/WebAuthn/Extensions/WebAuthnThirdPartyPayment.swift",
"FIDO/WebAuthn/WebAuthn+CBOR.swift",
"FIDO/WebAuthn/WebAuthn+JSON.swift",
"FIDO/WebAuthn/WebAuthn.swift",
"Keys/Curve25519Keys.swift",
"Keys/ECKeys.swift",
"Keys/PublicKey+SPKI.swift",
"Keys/PublicKey.swift",
"Keys/RSAKeys.swift",
"Keys/X509Cert.swift",
"Management/Capability.swift",
"Management/DeviceConfig.swift",
"Management/DeviceInfo.swift",
"Management/ManagementInterface.swift",
"Management/ManagementSession.swift",
"OATH/OATHSession+Extensions.swift",
"OATH/OATHSession.swift",
"OATH/OATHSessionFeature.swift",
"PIV/PIVDataFormatter.swift",
"PIV/PIVDataTypes.swift",
"PIV/PIVSession.swift",
"PIV/PIVSessionFeature.swift",
"PIV/SecKey+Extensions.swift",
"Response.swift",
"SCP/SCP03KeyParams.swift",
"SCP/SCP11KeyParams.swift",
"SCP/SCPKeyParams.swift",
"SCP/SCPKeyRef.swift",
"SCP/SCPSessionKeys.swift",
"SCP/SCPState.swift",
"SCP/SecurityDomainFeature.swift",
"SCP/SecurityDomainSession.swift",
"SCP/StaticKeys.swift",
"Session/OTP/OTPKeyboardInterface.swift",
"Session/Session.swift",
"Session/SmartCard/SmartCardInterface.swift",
"Session/SmartCard/SmartCardSession.swift",
"Third Parties/Base32.swift",
"Utilities/Array+Extensions.swift",
"Utilities/Data+Base64URL.swift",
"Utilities/Data+CRC16.swift",
"Utilities/Data+Extensions.swift",
"Utilities/Logger+Extensions.swift",
"Utilities/Logs.swift",
"Utilities/NSLock+Extensions.swift",
"Utilities/Promise.swift",
"Utilities/Runloop+Async.swift",
"Utilities/StatusStream.swift",
"Utilities/Stream+Extensions.swift",
"Utilities/String+Extensions.swift",
"Utilities/TKTLVRecord+Extensions.swift",
"Utilities/Task+Timeout.swift",
"Utilities/UIDevice+Capabilities.swift",
"Version.swift",
"YubiOTP/Modhex.swift",
"YubiOTP/NDEFConfiguration.swift",
"YubiOTP/SlotConfiguration.swift",
"YubiOTP/YubiOTP.swift",
"YubiOTP/YubiOTPSession+Configuration.swift",
"YubiOTP/YubiOTPSession+Interface.swift",
"YubiOTP/YubiOTPSession.swift",
"YubiOTP/YubiOTPStatusStream.swift"
],
"type" : "library"
},
{
"c99name" : "IntegrationTests",
"module_type" : "SwiftTarget",
"name" : "IntegrationTests",
"path" : "IntegrationTesting/Tests",
"sources" : [
"CTAP2Tests.swift",
"CTAPHIDTests.swift",
"ConnectionTests.swift",
"ManagementTests.swift",
"OATHTests.swift",
"OTPTests.swift",
"PIVTests.swift",
"SCPTests.swift",
"ScenarioOutcomeLog.swift",
"Tests.swift",
"WebAuthnTests.swift"
],
"target_dependencies" : [
"YubiKitIntegrationScenarios"
],
"type" : "test"
}
],
"tools_version" : "6.1"
}
Done.