diff --git a/.github/workflows/test-objc.yaml b/.github/workflows/test-objc.yaml index 28c5b70f0..2756e1728 100644 --- a/.github/workflows/test-objc.yaml +++ b/.github/workflows/test-objc.yaml @@ -78,6 +78,9 @@ jobs: with: path: ~/.cocoapods key: ${{ runner.os }}-cocoapods-common + - name: Update CocoaPods repo + run: | + pod repo update - name: Install Themis via CocoaPods run: | cd $GITHUB_WORKSPACE/tests/objcthemis @@ -121,7 +124,7 @@ jobs: rm -rf DerivedData xcodebuild \ -derivedDataPath DerivedData \ - -project ObjCThemis.xcodeproj \ + -project Themis.xcodeproj \ -scheme "Test Themis (Swift 4, macOS)" \ test - name: Run unit tests (Swift 5, macOS) @@ -130,7 +133,7 @@ jobs: rm -rf DerivedData xcodebuild \ -derivedDataPath DerivedData \ - -project ObjCThemis.xcodeproj \ + -project Themis.xcodeproj \ -scheme "Test Themis (Swift 5, macOS)" \ test - name: Run unit tests (Swift 4, iOS Simulator) @@ -139,7 +142,7 @@ jobs: rm -rf DerivedData xcodebuild \ -derivedDataPath DerivedData \ - -project ObjCThemis.xcodeproj \ + -project Themis.xcodeproj \ -scheme "Test Themis (Swift 4, iOS)" \ -sdk iphonesimulator \ -destination "platform=iOS Simulator,name=${TEST_IPAD}" \ @@ -150,7 +153,7 @@ jobs: rm -rf DerivedData xcodebuild \ -derivedDataPath DerivedData \ - -project ObjCThemis.xcodeproj \ + -project Themis.xcodeproj \ -scheme "Test Themis (Swift 5, iOS)" \ -sdk iphonesimulator \ -destination "platform=iOS Simulator,name=${TEST_IPHONE}" \ @@ -176,9 +179,9 @@ jobs: - name: Hack dependencies if: contains(env.HACK_DEPENDENCIES, 'true') run: | - # CocoaPods: podspec + # Use the current commit in CocoaPods podspec sed -E -i '' \ - -e "s|^(\s*s\.source = ).*$|\1{ :git => \"https://github.com/${HACK_REPOSITORY}.git\", :commit => \"$HACK_SHA\" }|" \ + -e "s|^([ ]*s\.source = ).*$|\1{ :git => \"https://github.com/${HACK_REPOSITORY}.git\", :commit => \"$HACK_SHA\" }|" \ themis.podspec # Note that CocoaPods is *really* strict with versioning, does not # allow modified podspec to be published, and issues a warning @@ -234,6 +237,9 @@ jobs: with: path: ~/.cocoapods key: ${{ runner.os }}-cocoapods-common + - name: Update CocoaPods repo + run: | + pod repo update # Try building Themis for all iOS device architectures. We do it here # because CocoaPods does not allow to check that directly but with # example projects it's more or less possible. @@ -244,8 +250,8 @@ jobs: rm -rf DerivedData xcodebuild \ -derivedDataPath DerivedData \ - -project ObjCThemis.xcodeproj \ - -scheme "ObjCThemis (iOS)" \ + -project Themis.xcodeproj \ + -scheme "Themis (iOS)" \ -sdk iphoneos \ -destination "generic/platform=iOS" \ build diff --git a/CHANGELOG.md b/CHANGELOG.md index c09d1279b..280996f98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,85 @@ Changes that are currently in development and have not been released yet. + +## [0.13.3](https://github.com/cossacklabs/themis/releases/tag/0.13.3), October 12th 2020 + +**Hotfix for Themis CocoaPods and Xcode12:** + +- Default Themis podspec is using OpenSSL 1.0.2u again ("themis/themis-openssl"). OpenSSL 1.1.1g podspec ("themis/openssl") might be broken for Xcode12, fixing is in progress. BoringSSL podspec ("themis/themis-boringssl") is available too. + +_Code:_ + +- **Objective-C / Swift** + + - Themis CocoaPods podspec is updated with bitcode fixes and disabling arm64 simulator in order to support Xcode12 builds. This is a podspec change only, no changes in code, headers or whatsoever. Default podspec is set as "themis/themis-openssl", which uses OpenSSL 1.0.2u. Fixes for "themis/openssl" podspec (OpenSSL 1.1.1g) might arrive soon. + + + +## [0.13.2](https://github.com/cossacklabs/themis/releases/tag/0.13.2), August 14th 2020 + +**Breaking changes and deprecations:** + +- ObjCThemis framework built by Carthage is now called `themis.framework` once again ([read more](#0.13.2-revert-objcthemis-rename)). + +_Code:_ + +- **Objective-C** + + - **Breaking changes** + + - ObjCThemis framework built by Carthage is now called `themis.framework` once again ([#704](https://github.com/cossacklabs/themis/pull/704)). + + [ObjCThemis 0.13.0](#0.13.0-objcthemis-rename) has initiated renaming of the framework produced by Carthage into `objcthemis.framework` from its historical name `themis.framework`. This decision has been a mistake. More information is available in the pull request linked above. + + `objcthemis.framework` is removed and should not be used. + + Please continue linking your applications to `themis.framework`. Note as well that starting with ObjCThemis 0.13.1, you do not have to embed `openssl.framework` anymore when ObjCThemis is installed via Carthage. + +## [0.13.1](https://github.com/cossacklabs/themis/releases/tag/0.13.1), August 13th 2020 + +**TL;DR:** + +- AndroidThemis is now available on JCenter +- ObjCThemis and SwiftThemis get latest OpenSSL update +- Minor security fixes in GoThemis, JsThemis, WasmThemis + +_Code:_ + +- **Core** + + - Improved compatibility with OpenSSL 1.1.1 ([#684](https://github.com/cossacklabs/themis/pull/684)). + +- **Android** + + - AndroidThemis is now available on JCenter ([#679](https://github.com/cossacklabs/themis/pull/679)). + +- **Go** + + - Fixed panics on 32-bit systems when processing corrupted data ([#677](https://github.com/cossacklabs/themis/pull/677)). + - Improved GoThemis package README and documentation ([#699](https://github.com/cossacklabs/themis/pull/699)). + +- **Node.js** + + - Minor dependency updates making the world a better place ([#680](https://github.com/cossacklabs/themis/pull/680)). + +- **WebAssembly** + + - Minor dependency updates making the world a better place ([#680](https://github.com/cossacklabs/themis/pull/680)). + +- **Swift** + + - Updated OpenSSL to the latest 1.1.1g ([#692](https://github.com/cossacklabs/themis/pull/692)). + +- **Objective-C** + + - Updated OpenSSL to the latest 1.1.1g ([#692](https://github.com/cossacklabs/themis/pull/692)). + +_Infrastructure:_ + +- AndroidThemis is now available on JCenter ([#679](https://github.com/cossacklabs/themis/pull/679)). +- ObjCThemis and SwiftThemis now require Xcode 11 ([#692](https://github.com/cossacklabs/themis/pull/692)). + ## [0.13.0](https://github.com/cossacklabs/themis/releases/tag/0.13.0), July 8th 2020 **TL;DR:** diff --git a/Cartfile b/Cartfile index 7f503659e..7666db7ac 100644 --- a/Cartfile +++ b/Cartfile @@ -1,9 +1,3 @@ -# temporary use our fork due to errors in krzyzanowskim/OpenSSL 1.0.2.18 -# https://github.com/krzyzanowskim/OpenSSL/issues/64 -# https://github.com/krzyzanowskim/OpenSSL/issues/63 -# hash of 1.0.2.17 tag -github "krzyzanowskim/OpenSSL" "990bd88" - -# broken tag is 1.0.2.18 -# github "krzyzanowskim/OpenSSL" ~> 1.0.2 - +# OpenSSL 1.1.1g +binary "https://raw.githubusercontent.com/cossacklabs/openssl-apple/cossacklabs/carthage/openssl-static-iPhone.json" ~> 1.1.107 +binary "https://raw.githubusercontent.com/cossacklabs/openssl-apple/cossacklabs/carthage/openssl-static-MacOSX.json" ~> 1.1.107 diff --git a/Cartfile.resolved b/Cartfile.resolved index fc79f6e5f..b8def800e 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1,2 @@ -github "krzyzanowskim/OpenSSL" "990bd88219da80d7a77289aeae245b3eb400d834" +binary "https://raw.githubusercontent.com/cossacklabs/openssl-apple/cossacklabs/carthage/openssl-static-MacOSX.json" "1.1.107" +binary "https://raw.githubusercontent.com/cossacklabs/openssl-apple/cossacklabs/carthage/openssl-static-iPhone.json" "1.1.107" diff --git a/ObjCThemis.xcodeproj/project.pbxproj b/ObjCThemis.xcodeproj/project.pbxproj deleted file mode 100644 index c87103ba9..000000000 --- a/ObjCThemis.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1888 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8EE223C1A8C00EC1EF3 /* scell_context_imprint.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B4223A8FA8005CB63A /* scell_context_imprint.m */; }; - 9F00E8EF223C1A8C00EC1EF3 /* scell_seal.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B0223A8FA7005CB63A /* scell_seal.m */; }; - 9F00E8F0223C1A8C00EC1EF3 /* scell_token.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BD223A8FA8005CB63A /* scell_token.m */; }; - 9F00E8F1223C1A8C00EC1EF3 /* scell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BE223A8FA8005CB63A /* scell.m */; }; - 9F00E8F2223C1A8C00EC1EF3 /* scomparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B6223A8FA8005CB63A /* scomparator.m */; }; - 9F00E8F3223C1A8C00EC1EF3 /* skeygen.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B7223A8FA8005CB63A /* skeygen.m */; }; - 9F00E8F4223C1A8C00EC1EF3 /* smessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B8223A8FA8005CB63A /* smessage.m */; }; - 9F00E8F5223C1A8C00EC1EF3 /* ssession_transport_interface.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B2223A8FA7005CB63A /* ssession_transport_interface.m */; }; - 9F00E8F6223C1A8C00EC1EF3 /* ssession.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BA223A8FA8005CB63A /* ssession.m */; }; - 9F00E8F7223C1A9600EC1EF3 /* fe_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B3223A745B005CB63A /* fe_0.c */; }; - 9F00E8F8223C1A9600EC1EF3 /* fe_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CF223A745C005CB63A /* fe_1.c */; }; - 9F00E8F9223C1A9600EC1EF3 /* fe_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B1223A745A005CB63A /* fe_add.c */; }; - 9F00E8FA223C1A9600EC1EF3 /* fe_cmov.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A8223A745A005CB63A /* fe_cmov.c */; }; - 9F00E8FB223C1A9600EC1EF3 /* fe_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B6223A745B005CB63A /* fe_copy.c */; }; - 9F00E8FC223C1A9600EC1EF3 /* fe_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AC223A745A005CB63A /* fe_frombytes.c */; }; - 9F00E8FD223C1A9600EC1EF3 /* fe_invert.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D3223A745D005CB63A /* fe_invert.c */; }; - 9F00E8FE223C1A9600EC1EF3 /* fe_isnegative.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BE223A745B005CB63A /* fe_isnegative.c */; }; - 9F00E8FF223C1A9600EC1EF3 /* fe_isnonzero.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B9223A745B005CB63A /* fe_isnonzero.c */; }; - 9F00E900223C1A9600EC1EF3 /* fe_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D1223A745C005CB63A /* fe_mul.c */; }; - 9F00E901223C1A9600EC1EF3 /* fe_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BC223A745B005CB63A /* fe_neg.c */; }; - 9F00E902223C1A9600EC1EF3 /* fe_pow22523.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DD223A745D005CB63A /* fe_pow22523.c */; }; - 9F00E903223C1A9600EC1EF3 /* fe_sq.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23E0223A745D005CB63A /* fe_sq.c */; }; - 9F00E904223C1A9600EC1EF3 /* fe_sq2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B8223A745B005CB63A /* fe_sq2.c */; }; - 9F00E905223C1A9600EC1EF3 /* fe_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A9223A745A005CB63A /* fe_sub.c */; }; - 9F00E906223C1A9600EC1EF3 /* fe_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D2223A745D005CB63A /* fe_tobytes.c */; }; - 9F00E907223C1A9600EC1EF3 /* ge_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DA223A745D005CB63A /* ge_add.c */; }; - 9F00E908223C1AA500EC1EF3 /* ge_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C0223A745B005CB63A /* ge_cmp.c */; }; - 9F00E909223C1AA500EC1EF3 /* ge_double_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BA223A745B005CB63A /* ge_double_scalarmult.c */; }; - 9F00E90A223C1AA500EC1EF3 /* ge_frombytes_no_negate.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D5223A745D005CB63A /* ge_frombytes_no_negate.c */; }; - 9F00E90B223C1AA500EC1EF3 /* ge_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A7223A745A005CB63A /* ge_frombytes.c */; }; - 9F00E90C223C1AA500EC1EF3 /* ge_madd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DB223A745D005CB63A /* ge_madd.c */; }; - 9F00E90D223C1AA500EC1EF3 /* ge_msub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C6223A745C005CB63A /* ge_msub.c */; }; - 9F00E90E223C1AA500EC1EF3 /* ge_p1p1_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CC223A745C005CB63A /* ge_p1p1_to_p2.c */; }; - 9F00E90F223C1AA500EC1EF3 /* ge_p1p1_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DC223A745D005CB63A /* ge_p1p1_to_p3.c */; }; - 9F00E910223C1AA500EC1EF3 /* ge_p2_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D7223A745D005CB63A /* ge_p2_0.c */; }; - 9F00E911223C1AA500EC1EF3 /* ge_p2_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B4223A745B005CB63A /* ge_p2_dbl.c */; }; - 9F00E912223C1AB100EC1EF3 /* ge_p2_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B2223A745A005CB63A /* ge_p2_to_p3.c */; }; - 9F00E913223C1AB100EC1EF3 /* ge_p3_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BB223A745B005CB63A /* ge_p3_0.c */; }; - 9F00E914223C1AB100EC1EF3 /* ge_p3_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B0223A745A005CB63A /* ge_p3_dbl.c */; }; - 9F00E915223C1AB100EC1EF3 /* ge_p3_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AA223A745A005CB63A /* ge_p3_sub.c */; }; - 9F00E916223C1AB100EC1EF3 /* ge_p3_to_cached.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B7223A745B005CB63A /* ge_p3_to_cached.c */; }; - 9F00E917223C1AB100EC1EF3 /* ge_p3_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C7223A745C005CB63A /* ge_p3_to_p2.c */; }; - 9F00E918223C1AB100EC1EF3 /* ge_p3_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C9223A745C005CB63A /* ge_p3_tobytes.c */; }; - 9F00E919223C1AB100EC1EF3 /* ge_precomp_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BF223A745B005CB63A /* ge_precomp_0.c */; }; - 9F00E91A223C1AB100EC1EF3 /* ge_scalarmult_base.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DF223A745D005CB63A /* ge_scalarmult_base.c */; }; - 9F00E91B223C1AB100EC1EF3 /* ge_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23E1223A745E005CB63A /* ge_scalarmult.c */; }; - 9F00E91C223C1AB100EC1EF3 /* ge_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B5223A745B005CB63A /* ge_sub.c */; }; - 9F00E91D223C1AB100EC1EF3 /* ge_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AD223A745A005CB63A /* ge_tobytes.c */; }; - 9F00E91E223C1AB100EC1EF3 /* gen_rand_32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D8223A745D005CB63A /* gen_rand_32.c */; }; - 9F00E91F223C1AB100EC1EF3 /* sc_muladd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CE223A745C005CB63A /* sc_muladd.c */; }; - 9F00E920223C1AB100EC1EF3 /* sc_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C2223A745B005CB63A /* sc_reduce.c */; }; - 9F00E921223C1AC000EC1EF3 /* soter_asym_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238F223A7426005CB63A /* soter_asym_cipher.c */; }; - 9F00E922223C1AC000EC1EF3 /* soter_asym_ka.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2388223A7425005CB63A /* soter_asym_ka.c */; }; - 9F00E923223C1AC000EC1EF3 /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2392223A7426005CB63A /* soter_ec_key.c */; }; - 9F00E924223C1AC000EC1EF3 /* soter_ecdsa_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2387223A7425005CB63A /* soter_ecdsa_common.c */; }; - 9F00E925223C1AC000EC1EF3 /* soter_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2390223A7426005CB63A /* soter_hash.c */; }; - 9F00E926223C1AC000EC1EF3 /* soter_rand.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238E223A7426005CB63A /* soter_rand.c */; }; - 9F00E927223C1AC000EC1EF3 /* soter_rsa_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2386223A7425005CB63A /* soter_rsa_common.c */; }; - 9F00E928223C1AC000EC1EF3 /* soter_rsa_key_pair_gen.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238A223A7425005CB63A /* soter_rsa_key_pair_gen.c */; }; - 9F00E929223C1AC000EC1EF3 /* soter_rsa_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2385223A7425005CB63A /* soter_rsa_key.c */; }; - 9F00E92A223C1AC000EC1EF3 /* soter_sign_ecdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2389223A7425005CB63A /* soter_sign_ecdsa.c */; }; - 9F00E92B223C1AC000EC1EF3 /* soter_sign_rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238C223A7425005CB63A /* soter_sign_rsa.c */; }; - 9F00E92C223C1AC000EC1EF3 /* soter_sym.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2394223A7426005CB63A /* soter_sym.c */; }; - 9F00E92D223C1AC000EC1EF3 /* soter_verify_ecdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2393223A7426005CB63A /* soter_verify_ecdsa.c */; }; - 9F00E92E223C1AC000EC1EF3 /* soter_verify_rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238D223A7426005CB63A /* soter_verify_rsa.c */; }; - 9F00E92F223C1ACF00EC1EF3 /* soter_container.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2348223A73B0005CB63A /* soter_container.c */; }; - 9F00E930223C1ACF00EC1EF3 /* soter_crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A234D223A73B0005CB63A /* soter_crc32.c */; }; - 9F00E931223C1ACF00EC1EF3 /* soter_hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2353223A73B1005CB63A /* soter_hmac.c */; }; - 9F00E932223C1ACF00EC1EF3 /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2357223A73B1005CB63A /* soter_kdf.c */; }; - 9F00E933223C1ACF00EC1EF3 /* soter_sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2351223A73B1005CB63A /* soter_sign.c */; }; - 9F00E934223C1AE600EC1EF3 /* message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A242A223A74AF005CB63A /* message.c */; }; - 9F00E935223C1AE600EC1EF3 /* secure_cell.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A241E223A74AE005CB63A /* secure_cell.c */; }; - 9F00E936223C1AE600EC1EF3 /* secure_comparator.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2432223A74AF005CB63A /* secure_comparator.c */; }; - 9F00E937223C1AE600EC1EF3 /* secure_keygen.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2427223A74AE005CB63A /* secure_keygen.c */; }; - 9F00E938223C1AE600EC1EF3 /* secure_message_wrapper.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2422223A74AE005CB63A /* secure_message_wrapper.c */; }; - 9F00E939223C1AE600EC1EF3 /* secure_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2437223A74AF005CB63A /* secure_message.c */; }; - 9F00E93A223C1AE600EC1EF3 /* secure_session_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2435223A74AF005CB63A /* secure_session_message.c */; }; - 9F00E93B223C1AE600EC1EF3 /* secure_session_peer.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2429223A74AF005CB63A /* secure_session_peer.c */; }; - 9F00E93C223C1AE600EC1EF3 /* secure_session_serialize.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2425223A74AE005CB63A /* secure_session_serialize.c */; }; - 9F00E93D223C1AE600EC1EF3 /* secure_session_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A242E223A74AF005CB63A /* secure_session_utils.c */; }; - 9F00E93E223C1AE600EC1EF3 /* secure_session.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2438223A74AF005CB63A /* secure_session.c */; }; - 9F00E93F223C1AE600EC1EF3 /* sym_enc_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2431223A74AF005CB63A /* sym_enc_message.c */; }; - 9F00E941223C1AFA00EC1EF3 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; - 9F33485823B38D9B00368291 /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F33485723B38D9B00368291 /* soter_kdf.c */; }; - 9F33485923B38D9B00368291 /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F33485723B38D9B00368291 /* soter_kdf.c */; }; - 9F4A24C4223A8FA9005CB63A /* scell_seal.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B0223A8FA7005CB63A /* scell_seal.m */; }; - 9F4A24C6223A8FA9005CB63A /* ssession_transport_interface.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B2223A8FA7005CB63A /* ssession_transport_interface.m */; }; - 9F4A24C8223A8FA9005CB63A /* scell_context_imprint.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B4223A8FA8005CB63A /* scell_context_imprint.m */; }; - 9F4A24CA223A8FA9005CB63A /* scomparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B6223A8FA8005CB63A /* scomparator.m */; }; - 9F4A24CB223A8FA9005CB63A /* skeygen.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B7223A8FA8005CB63A /* skeygen.m */; }; - 9F4A24CC223A8FA9005CB63A /* smessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B8223A8FA8005CB63A /* smessage.m */; }; - 9F4A24CE223A8FA9005CB63A /* ssession.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BA223A8FA8005CB63A /* ssession.m */; }; - 9F4A24D1223A8FA9005CB63A /* scell_token.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BD223A8FA8005CB63A /* scell_token.m */; }; - 9F4A24D2223A8FA9005CB63A /* scell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BE223A8FA8005CB63A /* scell.m */; }; - 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24DD223A918A005CB63A /* scell_token.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24DE223A918A005CB63A /* scell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24DF223A918A005CB63A /* scomparator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24E0223A918A005CB63A /* serror.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24E1223A918A005CB63A /* skeygen.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24E2223A918A005CB63A /* smessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A24E4223A918A005CB63A /* ssession.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F4A25DA223ABEB6005CB63A /* fe_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B3223A745B005CB63A /* fe_0.c */; }; - 9F4A25DB223ABEB6005CB63A /* fe_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CF223A745C005CB63A /* fe_1.c */; }; - 9F4A25DC223ABEB6005CB63A /* fe_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B1223A745A005CB63A /* fe_add.c */; }; - 9F4A25DD223ABEB6005CB63A /* fe_cmov.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A8223A745A005CB63A /* fe_cmov.c */; }; - 9F4A25DE223ABEB6005CB63A /* fe_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B6223A745B005CB63A /* fe_copy.c */; }; - 9F4A25DF223ABEB6005CB63A /* fe_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AC223A745A005CB63A /* fe_frombytes.c */; }; - 9F4A25E0223ABEB6005CB63A /* fe_invert.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D3223A745D005CB63A /* fe_invert.c */; }; - 9F4A25E1223ABEB6005CB63A /* fe_isnegative.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BE223A745B005CB63A /* fe_isnegative.c */; }; - 9F4A25E2223ABEB6005CB63A /* fe_isnonzero.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B9223A745B005CB63A /* fe_isnonzero.c */; }; - 9F4A25E3223ABEB6005CB63A /* fe_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D1223A745C005CB63A /* fe_mul.c */; }; - 9F4A25E4223ABEB6005CB63A /* fe_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BC223A745B005CB63A /* fe_neg.c */; }; - 9F4A25E5223ABEB6005CB63A /* fe_pow22523.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DD223A745D005CB63A /* fe_pow22523.c */; }; - 9F4A25E6223ABEB6005CB63A /* fe_sq.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23E0223A745D005CB63A /* fe_sq.c */; }; - 9F4A25E7223ABEB6005CB63A /* fe_sq2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B8223A745B005CB63A /* fe_sq2.c */; }; - 9F4A25E8223ABEB6005CB63A /* fe_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A9223A745A005CB63A /* fe_sub.c */; }; - 9F4A25E9223ABEB6005CB63A /* fe_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D2223A745D005CB63A /* fe_tobytes.c */; }; - 9F4A25EA223ABEB6005CB63A /* ge_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DA223A745D005CB63A /* ge_add.c */; }; - 9F4A25EB223ABEB6005CB63A /* ge_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C0223A745B005CB63A /* ge_cmp.c */; }; - 9F4A25EC223ABEB6005CB63A /* ge_double_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BA223A745B005CB63A /* ge_double_scalarmult.c */; }; - 9F4A25ED223ABEB6005CB63A /* ge_frombytes_no_negate.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D5223A745D005CB63A /* ge_frombytes_no_negate.c */; }; - 9F4A25EE223ABEB6005CB63A /* ge_frombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23A7223A745A005CB63A /* ge_frombytes.c */; }; - 9F4A25EF223ABEB6005CB63A /* ge_madd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DB223A745D005CB63A /* ge_madd.c */; }; - 9F4A25F0223ABEB6005CB63A /* ge_msub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C6223A745C005CB63A /* ge_msub.c */; }; - 9F4A25F1223ABEB6005CB63A /* ge_p1p1_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CC223A745C005CB63A /* ge_p1p1_to_p2.c */; }; - 9F4A25F2223ABEB6005CB63A /* ge_p1p1_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DC223A745D005CB63A /* ge_p1p1_to_p3.c */; }; - 9F4A25F3223ABEB6005CB63A /* ge_p2_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D7223A745D005CB63A /* ge_p2_0.c */; }; - 9F4A25F4223ABEB6005CB63A /* ge_p2_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B4223A745B005CB63A /* ge_p2_dbl.c */; }; - 9F4A25F5223ABEB6005CB63A /* ge_p2_to_p3.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B2223A745A005CB63A /* ge_p2_to_p3.c */; }; - 9F4A25F6223ABEB6005CB63A /* ge_p3_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BB223A745B005CB63A /* ge_p3_0.c */; }; - 9F4A25F7223ABEB6005CB63A /* ge_p3_dbl.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B0223A745A005CB63A /* ge_p3_dbl.c */; }; - 9F4A25F8223ABEB6005CB63A /* ge_p3_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AA223A745A005CB63A /* ge_p3_sub.c */; }; - 9F4A25F9223ABEB6005CB63A /* ge_p3_to_cached.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B7223A745B005CB63A /* ge_p3_to_cached.c */; }; - 9F4A25FA223ABEB6005CB63A /* ge_p3_to_p2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C7223A745C005CB63A /* ge_p3_to_p2.c */; }; - 9F4A25FB223ABEB6005CB63A /* ge_p3_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C9223A745C005CB63A /* ge_p3_tobytes.c */; }; - 9F4A25FC223ABEB6005CB63A /* ge_precomp_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23BF223A745B005CB63A /* ge_precomp_0.c */; }; - 9F4A25FD223ABEB6005CB63A /* ge_scalarmult_base.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23DF223A745D005CB63A /* ge_scalarmult_base.c */; }; - 9F4A25FE223ABEB6005CB63A /* ge_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23E1223A745E005CB63A /* ge_scalarmult.c */; }; - 9F4A25FF223ABEB6005CB63A /* ge_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B5223A745B005CB63A /* ge_sub.c */; }; - 9F4A2600223ABEB6005CB63A /* ge_tobytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23AD223A745A005CB63A /* ge_tobytes.c */; }; - 9F4A2601223ABEB6005CB63A /* gen_rand_32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23D8223A745D005CB63A /* gen_rand_32.c */; }; - 9F4A2602223ABEB6005CB63A /* sc_muladd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CE223A745C005CB63A /* sc_muladd.c */; }; - 9F4A2603223ABEB6005CB63A /* sc_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23C2223A745B005CB63A /* sc_reduce.c */; }; - 9F4A2604223ABECC005CB63A /* soter_asym_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238F223A7426005CB63A /* soter_asym_cipher.c */; }; - 9F4A2605223ABECC005CB63A /* soter_asym_ka.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2388223A7425005CB63A /* soter_asym_ka.c */; }; - 9F4A2606223ABECC005CB63A /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2392223A7426005CB63A /* soter_ec_key.c */; }; - 9F4A2607223ABECC005CB63A /* soter_ecdsa_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2387223A7425005CB63A /* soter_ecdsa_common.c */; }; - 9F4A2608223ABECC005CB63A /* soter_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2390223A7426005CB63A /* soter_hash.c */; }; - 9F4A2609223ABECC005CB63A /* soter_rand.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238E223A7426005CB63A /* soter_rand.c */; }; - 9F4A260A223ABECC005CB63A /* soter_rsa_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2386223A7425005CB63A /* soter_rsa_common.c */; }; - 9F4A260B223ABECC005CB63A /* soter_rsa_key_pair_gen.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238A223A7425005CB63A /* soter_rsa_key_pair_gen.c */; }; - 9F4A260C223ABECC005CB63A /* soter_rsa_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2385223A7425005CB63A /* soter_rsa_key.c */; }; - 9F4A260D223ABECC005CB63A /* soter_sign_ecdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2389223A7425005CB63A /* soter_sign_ecdsa.c */; }; - 9F4A260E223ABECC005CB63A /* soter_sign_rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238C223A7425005CB63A /* soter_sign_rsa.c */; }; - 9F4A260F223ABECC005CB63A /* soter_sym.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2394223A7426005CB63A /* soter_sym.c */; }; - 9F4A2610223ABECC005CB63A /* soter_verify_ecdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2393223A7426005CB63A /* soter_verify_ecdsa.c */; }; - 9F4A2611223ABECC005CB63A /* soter_verify_rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A238D223A7426005CB63A /* soter_verify_rsa.c */; }; - 9F4A2612223ABEDF005CB63A /* soter_container.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2348223A73B0005CB63A /* soter_container.c */; }; - 9F4A2613223ABEDF005CB63A /* soter_crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A234D223A73B0005CB63A /* soter_crc32.c */; }; - 9F4A2614223ABEDF005CB63A /* soter_hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2353223A73B1005CB63A /* soter_hmac.c */; }; - 9F4A2615223ABEDF005CB63A /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2357223A73B1005CB63A /* soter_kdf.c */; }; - 9F4A2616223ABEDF005CB63A /* soter_sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2351223A73B1005CB63A /* soter_sign.c */; }; - 9F4A2617223ABEF2005CB63A /* message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A242A223A74AF005CB63A /* message.c */; }; - 9F4A2618223ABEF2005CB63A /* secure_cell.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A241E223A74AE005CB63A /* secure_cell.c */; }; - 9F4A2619223ABEF2005CB63A /* secure_comparator.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2432223A74AF005CB63A /* secure_comparator.c */; }; - 9F4A261A223ABEF2005CB63A /* secure_keygen.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2427223A74AE005CB63A /* secure_keygen.c */; }; - 9F4A261B223ABEF2005CB63A /* secure_message_wrapper.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2422223A74AE005CB63A /* secure_message_wrapper.c */; }; - 9F4A261C223ABEF2005CB63A /* secure_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2437223A74AF005CB63A /* secure_message.c */; }; - 9F4A261D223ABEF2005CB63A /* secure_session_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2435223A74AF005CB63A /* secure_session_message.c */; }; - 9F4A261E223ABEF2005CB63A /* secure_session_peer.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2429223A74AF005CB63A /* secure_session_peer.c */; }; - 9F4A261F223ABEF2005CB63A /* secure_session_serialize.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2425223A74AE005CB63A /* secure_session_serialize.c */; }; - 9F4A2620223ABEF2005CB63A /* secure_session_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A242E223A74AF005CB63A /* secure_session_utils.c */; }; - 9F4A2621223ABEF2005CB63A /* secure_session.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2438223A74AF005CB63A /* secure_session.c */; }; - 9F4A2622223ABEF2005CB63A /* sym_enc_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2431223A74AF005CB63A /* sym_enc_message.c */; }; - 9F6B385523D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */; }; - 9F6B385623D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */; }; - 9F70B2C1241D0FEC009CB629 /* objcthemis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B2D0241D1043009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; - 9F70B2D1241D1043009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; - 9F70B2D2241D1043009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; - 9F70B2D3241D1043009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; - 9F70B2D5241D1043009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; - 9F70B2D6241D1043009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; - 9F70B2D8241D1064009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; - 9F70B2D9241D1065009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; - 9F70B2DD241D16B4009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; - 9F70B2E1241D1753009CB629 /* objcthemis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */; }; - 9F70B2E2241D175E009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B2EC241D17A3009CB629 /* objcthemis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */; }; - 9F70B2F3241D17BF009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; - 9F70B2F4241D17C2009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; - 9F70B2F5241D17CB009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; - 9F70B2F6241D17CD009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; - 9F70B2F7241D17CE009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; - 9F70B2F8241D17D0009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; - 9F70B2F9241D17D1009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; - 9F70B2FA241D17D3009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; - 9F70B2FB241D17D8009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; - 9F70B2FD241D17F0009CB629 /* objcthemis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B2FE241D17F2009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B3072420E16E009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; - 9F70B3082420E16E009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; - 9F70B30A2420E16E009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; - 9F70B30B2420E16E009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; - 9F70B30C2420E16E009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; - 9F70B30D2420E16E009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; - 9F70B30E2420E16E009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; - 9F70B30F2420E16E009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; - 9F70B3112420E16E009CB629 /* objcthemis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */; }; - 9F70B3122420E16E009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; - 9F70B3142420E16E009CB629 /* objcthemis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B3152420E16E009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B31F2420E176009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; - 9F70B3202420E176009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; - 9F70B3222420E176009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; - 9F70B3232420E176009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; - 9F70B3242420E176009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; - 9F70B3252420E176009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; - 9F70B3262420E176009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; - 9F70B3272420E176009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; - 9F70B3292420E176009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; - 9F70B32A2420E176009CB629 /* objcthemis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */; }; - 9F70B32C2420E176009CB629 /* objcthemis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F70B32D2420E176009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9F874AB322CCB0D100E8DECA /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */; }; - 9F874AB422CCB0D100E8DECA /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */; }; - 9F874AB522CCB0D100E8DECA /* soter_rsa_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */; }; - 9F874AB622CCB0D100E8DECA /* soter_rsa_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */; }; - 9F98F32822CCEB0E008E14E6 /* soter_wipe.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F98F32722CCEB0E008E14E6 /* soter_wipe.c */; }; - 9F98F32922CCEB0E008E14E6 /* soter_wipe.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F98F32722CCEB0E008E14E6 /* soter_wipe.c */; }; - 9FBD853D223BFB5E009EAEB3 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 9F70B2C2241D0FEC009CB629 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 738B81062239809D00A9947C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9F00E8D6223C197900EC1EF3; - remoteInfo = "Themis (macOS)"; - }; - 9F70B2ED241D17A3009CB629 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 738B81062239809D00A9947C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9F4A24A0223A8D7F005CB63A; - remoteInfo = "Themis (iOS)"; - }; - 9F70B3052420E16E009CB629 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 738B81062239809D00A9947C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9F4A24A0223A8D7F005CB63A; - remoteInfo = "Themis (iOS)"; - }; - 9F70B31D2420E176009CB629 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 738B81062239809D00A9947C /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9F00E8D6223C197900EC1EF3; - remoteInfo = "Themis (macOS)"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9F70B2DE241D172E009CB629 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 9F70B2C1241D0FEC009CB629 /* objcthemis.framework in Embed Frameworks */, - 9F70B2E2241D175E009CB629 /* openssl.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2FC241D17E4009CB629 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 9F70B2FD241D17F0009CB629 /* objcthemis.framework in Embed Frameworks */, - 9F70B2FE241D17F2009CB629 /* openssl.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3132420E16E009CB629 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 9F70B3142420E16E009CB629 /* objcthemis.framework in Embed Frameworks */, - 9F70B3152420E16E009CB629 /* openssl.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B32B2420E176009CB629 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 9F70B32C2420E176009CB629 /* objcthemis.framework in Embed Frameworks */, - 9F70B32D2420E176009CB629 /* openssl.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objcthemis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F00E940223C1AFA00EC1EF3 /* openssl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = openssl.framework; path = Carthage/Build/Mac/openssl.framework; sourceTree = ""; }; - 9F33485723B38D9B00368291 /* soter_kdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_kdf.c; path = src/soter/openssl/soter_kdf.c; sourceTree = ""; }; - 9F34EA3023D9CA0A0079A1D7 /* secure_cell_seal_passphrase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = secure_cell_seal_passphrase.h; path = src/themis/secure_cell_seal_passphrase.h; sourceTree = ""; }; - 9F4A2342223A73B0005CB63A /* soter_hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_hash.h; path = src/soter/soter_hash.h; sourceTree = ""; }; - 9F4A2343223A73B0005CB63A /* soter_asym_cipher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_asym_cipher.h; path = src/soter/soter_asym_cipher.h; sourceTree = ""; }; - 9F4A2344223A73B0005CB63A /* soter_sign_rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_sign_rsa.h; path = src/soter/soter_sign_rsa.h; sourceTree = ""; }; - 9F4A2345223A73B0005CB63A /* soter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter.h; path = src/soter/soter.h; sourceTree = ""; }; - 9F4A2346223A73B0005CB63A /* soter_t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_t.h; path = src/soter/soter_t.h; sourceTree = ""; }; - 9F4A2347223A73B0005CB63A /* soter_rsa_key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_rsa_key.h; path = src/soter/soter_rsa_key.h; sourceTree = ""; }; - 9F4A2348223A73B0005CB63A /* soter_container.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_container.c; path = src/soter/soter_container.c; sourceTree = ""; }; - 9F4A2349223A73B0005CB63A /* soter_hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_hmac.h; path = src/soter/soter_hmac.h; sourceTree = ""; }; - 9F4A234A223A73B0005CB63A /* soter_rsa_key_pair_gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_rsa_key_pair_gen.h; path = src/soter/soter_rsa_key_pair_gen.h; sourceTree = ""; }; - 9F4A234B223A73B0005CB63A /* soter_asym_ka.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_asym_ka.h; path = src/soter/soter_asym_ka.h; sourceTree = ""; }; - 9F4A234C223A73B0005CB63A /* soter_error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_error.h; path = src/soter/soter_error.h; sourceTree = ""; }; - 9F4A234D223A73B0005CB63A /* soter_crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_crc32.c; path = src/soter/soter_crc32.c; sourceTree = ""; }; - 9F4A234E223A73B0005CB63A /* soter_crc32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_crc32.h; path = src/soter/soter_crc32.h; sourceTree = ""; }; - 9F4A234F223A73B1005CB63A /* soter_kdf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_kdf.h; path = src/soter/soter_kdf.h; sourceTree = ""; }; - 9F4A2350223A73B1005CB63A /* soter_asym_sign.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_asym_sign.h; path = src/soter/soter_asym_sign.h; sourceTree = ""; }; - 9F4A2351223A73B1005CB63A /* soter_sign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_sign.c; path = src/soter/soter_sign.c; sourceTree = ""; }; - 9F4A2352223A73B1005CB63A /* soter_ec_key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_ec_key.h; path = src/soter/soter_ec_key.h; sourceTree = ""; }; - 9F4A2353223A73B1005CB63A /* soter_hmac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_hmac.c; path = src/soter/soter_hmac.c; sourceTree = ""; }; - 9F4A2354223A73B1005CB63A /* soter_rand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_rand.h; path = src/soter/soter_rand.h; sourceTree = ""; }; - 9F4A2355223A73B1005CB63A /* soter_sign_ecdsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_sign_ecdsa.h; path = src/soter/soter_sign_ecdsa.h; sourceTree = ""; }; - 9F4A2356223A73B1005CB63A /* soter_sym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_sym.h; path = src/soter/soter_sym.h; sourceTree = ""; }; - 9F4A2357223A73B1005CB63A /* soter_kdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_kdf.c; path = src/soter/soter_kdf.c; sourceTree = ""; }; - 9F4A2358223A73B1005CB63A /* soter_container.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_container.h; path = src/soter/soter_container.h; sourceTree = ""; }; - 9F4A2384223A7425005CB63A /* soter_ecdsa_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_ecdsa_common.h; path = src/soter/openssl/soter_ecdsa_common.h; sourceTree = ""; }; - 9F4A2385223A7425005CB63A /* soter_rsa_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rsa_key.c; path = src/soter/openssl/soter_rsa_key.c; sourceTree = ""; }; - 9F4A2386223A7425005CB63A /* soter_rsa_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rsa_common.c; path = src/soter/openssl/soter_rsa_common.c; sourceTree = ""; }; - 9F4A2387223A7425005CB63A /* soter_ecdsa_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_ecdsa_common.c; path = src/soter/openssl/soter_ecdsa_common.c; sourceTree = ""; }; - 9F4A2388223A7425005CB63A /* soter_asym_ka.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_asym_ka.c; path = src/soter/openssl/soter_asym_ka.c; sourceTree = ""; }; - 9F4A2389223A7425005CB63A /* soter_sign_ecdsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_sign_ecdsa.c; path = src/soter/openssl/soter_sign_ecdsa.c; sourceTree = ""; }; - 9F4A238A223A7425005CB63A /* soter_rsa_key_pair_gen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rsa_key_pair_gen.c; path = src/soter/openssl/soter_rsa_key_pair_gen.c; sourceTree = ""; }; - 9F4A238B223A7425005CB63A /* soter_engine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_engine.h; path = src/soter/openssl/soter_engine.h; sourceTree = ""; }; - 9F4A238C223A7425005CB63A /* soter_sign_rsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_sign_rsa.c; path = src/soter/openssl/soter_sign_rsa.c; sourceTree = ""; }; - 9F4A238D223A7426005CB63A /* soter_verify_rsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_verify_rsa.c; path = src/soter/openssl/soter_verify_rsa.c; sourceTree = ""; }; - 9F4A238E223A7426005CB63A /* soter_rand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rand.c; path = src/soter/openssl/soter_rand.c; sourceTree = ""; }; - 9F4A238F223A7426005CB63A /* soter_asym_cipher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_asym_cipher.c; path = src/soter/openssl/soter_asym_cipher.c; sourceTree = ""; }; - 9F4A2390223A7426005CB63A /* soter_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_hash.c; path = src/soter/openssl/soter_hash.c; sourceTree = ""; }; - 9F4A2391223A7426005CB63A /* soter_rsa_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_rsa_common.h; path = src/soter/openssl/soter_rsa_common.h; sourceTree = ""; }; - 9F4A2392223A7426005CB63A /* soter_ec_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_ec_key.c; path = src/soter/openssl/soter_ec_key.c; sourceTree = ""; }; - 9F4A2393223A7426005CB63A /* soter_verify_ecdsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_verify_ecdsa.c; path = src/soter/openssl/soter_verify_ecdsa.c; sourceTree = ""; }; - 9F4A2394223A7426005CB63A /* soter_sym.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_sym.c; path = src/soter/openssl/soter_sym.c; sourceTree = ""; }; - 9F4A23A7223A745A005CB63A /* ge_frombytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_frombytes.c; path = src/soter/ed25519/ge_frombytes.c; sourceTree = ""; }; - 9F4A23A8223A745A005CB63A /* fe_cmov.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_cmov.c; path = src/soter/ed25519/fe_cmov.c; sourceTree = ""; }; - 9F4A23A9223A745A005CB63A /* fe_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_sub.c; path = src/soter/ed25519/fe_sub.c; sourceTree = ""; }; - 9F4A23AA223A745A005CB63A /* ge_p3_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_sub.c; path = src/soter/ed25519/ge_p3_sub.c; sourceTree = ""; }; - 9F4A23AB223A745A005CB63A /* ge_p2_dbl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_p2_dbl.h; path = src/soter/ed25519/ge_p2_dbl.h; sourceTree = ""; }; - 9F4A23AC223A745A005CB63A /* fe_frombytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_frombytes.c; path = src/soter/ed25519/fe_frombytes.c; sourceTree = ""; }; - 9F4A23AD223A745A005CB63A /* ge_tobytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_tobytes.c; path = src/soter/ed25519/ge_tobytes.c; sourceTree = ""; }; - 9F4A23AE223A745A005CB63A /* pow22523.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pow22523.h; path = src/soter/ed25519/pow22523.h; sourceTree = ""; }; - 9F4A23AF223A745A005CB63A /* pow225521.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pow225521.h; path = src/soter/ed25519/pow225521.h; sourceTree = ""; }; - 9F4A23B0223A745A005CB63A /* ge_p3_dbl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_dbl.c; path = src/soter/ed25519/ge_p3_dbl.c; sourceTree = ""; }; - 9F4A23B1223A745A005CB63A /* fe_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_add.c; path = src/soter/ed25519/fe_add.c; sourceTree = ""; }; - 9F4A23B2223A745A005CB63A /* ge_p2_to_p3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p2_to_p3.c; path = src/soter/ed25519/ge_p2_to_p3.c; sourceTree = ""; }; - 9F4A23B3223A745B005CB63A /* fe_0.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_0.c; path = src/soter/ed25519/fe_0.c; sourceTree = ""; }; - 9F4A23B4223A745B005CB63A /* ge_p2_dbl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p2_dbl.c; path = src/soter/ed25519/ge_p2_dbl.c; sourceTree = ""; }; - 9F4A23B5223A745B005CB63A /* ge_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_sub.c; path = src/soter/ed25519/ge_sub.c; sourceTree = ""; }; - 9F4A23B6223A745B005CB63A /* fe_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_copy.c; path = src/soter/ed25519/fe_copy.c; sourceTree = ""; }; - 9F4A23B7223A745B005CB63A /* ge_p3_to_cached.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_cached.c; path = src/soter/ed25519/ge_p3_to_cached.c; sourceTree = ""; }; - 9F4A23B8223A745B005CB63A /* fe_sq2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_sq2.c; path = src/soter/ed25519/fe_sq2.c; sourceTree = ""; }; - 9F4A23B9223A745B005CB63A /* fe_isnonzero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_isnonzero.c; path = src/soter/ed25519/fe_isnonzero.c; sourceTree = ""; }; - 9F4A23BA223A745B005CB63A /* ge_double_scalarmult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_double_scalarmult.c; path = src/soter/ed25519/ge_double_scalarmult.c; sourceTree = ""; }; - 9F4A23BB223A745B005CB63A /* ge_p3_0.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_0.c; path = src/soter/ed25519/ge_p3_0.c; sourceTree = ""; }; - 9F4A23BC223A745B005CB63A /* fe_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_neg.c; path = src/soter/ed25519/fe_neg.c; sourceTree = ""; }; - 9F4A23BD223A745B005CB63A /* d2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = d2.h; path = src/soter/ed25519/d2.h; sourceTree = ""; }; - 9F4A23BE223A745B005CB63A /* fe_isnegative.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_isnegative.c; path = src/soter/ed25519/fe_isnegative.c; sourceTree = ""; }; - 9F4A23BF223A745B005CB63A /* ge_precomp_0.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_precomp_0.c; path = src/soter/ed25519/ge_precomp_0.c; sourceTree = ""; }; - 9F4A23C0223A745B005CB63A /* ge_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_cmp.c; path = src/soter/ed25519/ge_cmp.c; sourceTree = ""; }; - 9F4A23C1223A745B005CB63A /* ge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge.h; path = src/soter/ed25519/ge.h; sourceTree = ""; }; - 9F4A23C2223A745B005CB63A /* sc_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sc_reduce.c; path = src/soter/ed25519/sc_reduce.c; sourceTree = ""; }; - 9F4A23C3223A745B005CB63A /* sc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sc.h; path = src/soter/ed25519/sc.h; sourceTree = ""; }; - 9F4A23C4223A745C005CB63A /* sqrtm1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sqrtm1.h; path = src/soter/ed25519/sqrtm1.h; sourceTree = ""; }; - 9F4A23C5223A745C005CB63A /* ge_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_utils.h; path = src/soter/ed25519/ge_utils.h; sourceTree = ""; }; - 9F4A23C6223A745C005CB63A /* ge_msub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_msub.c; path = src/soter/ed25519/ge_msub.c; sourceTree = ""; }; - 9F4A23C7223A745C005CB63A /* ge_p3_to_p2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_to_p2.c; path = src/soter/ed25519/ge_p3_to_p2.c; sourceTree = ""; }; - 9F4A23C8223A745C005CB63A /* base2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = base2.h; path = src/soter/ed25519/base2.h; sourceTree = ""; }; - 9F4A23C9223A745C005CB63A /* ge_p3_tobytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p3_tobytes.c; path = src/soter/ed25519/ge_p3_tobytes.c; sourceTree = ""; }; - 9F4A23CA223A745C005CB63A /* ge_sub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_sub.h; path = src/soter/ed25519/ge_sub.h; sourceTree = ""; }; - 9F4A23CB223A745C005CB63A /* ge_add.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_add.h; path = src/soter/ed25519/ge_add.h; sourceTree = ""; }; - 9F4A23CC223A745C005CB63A /* ge_p1p1_to_p2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p2.c; path = src/soter/ed25519/ge_p1p1_to_p2.c; sourceTree = ""; }; - 9F4A23CD223A745C005CB63A /* ge_madd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_madd.h; path = src/soter/ed25519/ge_madd.h; sourceTree = ""; }; - 9F4A23CE223A745C005CB63A /* sc_muladd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sc_muladd.c; path = src/soter/ed25519/sc_muladd.c; sourceTree = ""; }; - 9F4A23CF223A745C005CB63A /* fe_1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_1.c; path = src/soter/ed25519/fe_1.c; sourceTree = ""; }; - 9F4A23D0223A745C005CB63A /* ge_msub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge_msub.h; path = src/soter/ed25519/ge_msub.h; sourceTree = ""; }; - 9F4A23D1223A745C005CB63A /* fe_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_mul.c; path = src/soter/ed25519/fe_mul.c; sourceTree = ""; }; - 9F4A23D2223A745D005CB63A /* fe_tobytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_tobytes.c; path = src/soter/ed25519/fe_tobytes.c; sourceTree = ""; }; - 9F4A23D3223A745D005CB63A /* fe_invert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_invert.c; path = src/soter/ed25519/fe_invert.c; sourceTree = ""; }; - 9F4A23D4223A745D005CB63A /* base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = base.h; path = src/soter/ed25519/base.h; sourceTree = ""; }; - 9F4A23D5223A745D005CB63A /* ge_frombytes_no_negate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_frombytes_no_negate.c; path = src/soter/ed25519/ge_frombytes_no_negate.c; sourceTree = ""; }; - 9F4A23D6223A745D005CB63A /* api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = api.h; path = src/soter/ed25519/api.h; sourceTree = ""; }; - 9F4A23D7223A745D005CB63A /* ge_p2_0.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p2_0.c; path = src/soter/ed25519/ge_p2_0.c; sourceTree = ""; }; - 9F4A23D8223A745D005CB63A /* gen_rand_32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gen_rand_32.c; path = src/soter/ed25519/gen_rand_32.c; sourceTree = ""; }; - 9F4A23D9223A745D005CB63A /* d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = d.h; path = src/soter/ed25519/d.h; sourceTree = ""; }; - 9F4A23DA223A745D005CB63A /* ge_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_add.c; path = src/soter/ed25519/ge_add.c; sourceTree = ""; }; - 9F4A23DB223A745D005CB63A /* ge_madd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_madd.c; path = src/soter/ed25519/ge_madd.c; sourceTree = ""; }; - 9F4A23DC223A745D005CB63A /* ge_p1p1_to_p3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_p1p1_to_p3.c; path = src/soter/ed25519/ge_p1p1_to_p3.c; sourceTree = ""; }; - 9F4A23DD223A745D005CB63A /* fe_pow22523.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_pow22523.c; path = src/soter/ed25519/fe_pow22523.c; sourceTree = ""; }; - 9F4A23DE223A745D005CB63A /* fe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fe.h; path = src/soter/ed25519/fe.h; sourceTree = ""; }; - 9F4A23DF223A745D005CB63A /* ge_scalarmult_base.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_scalarmult_base.c; path = src/soter/ed25519/ge_scalarmult_base.c; sourceTree = ""; }; - 9F4A23E0223A745D005CB63A /* fe_sq.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe_sq.c; path = src/soter/ed25519/fe_sq.c; sourceTree = ""; }; - 9F4A23E1223A745E005CB63A /* ge_scalarmult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge_scalarmult.c; path = src/soter/ed25519/ge_scalarmult.c; sourceTree = ""; }; - 9F4A241E223A74AE005CB63A /* secure_cell.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_cell.c; path = src/themis/secure_cell.c; sourceTree = ""; }; - 9F4A241F223A74AE005CB63A /* secure_comparator_t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_comparator_t.h; path = src/themis/secure_comparator_t.h; sourceTree = ""; }; - 9F4A2420223A74AE005CB63A /* secure_message_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_message_wrapper.h; path = src/themis/secure_message_wrapper.h; sourceTree = ""; }; - 9F4A2421223A74AE005CB63A /* secure_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_message.h; path = src/themis/secure_message.h; sourceTree = ""; }; - 9F4A2422223A74AE005CB63A /* secure_message_wrapper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_message_wrapper.c; path = src/themis/secure_message_wrapper.c; sourceTree = ""; }; - 9F4A2424223A74AE005CB63A /* secure_keygen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_keygen.h; path = src/themis/secure_keygen.h; sourceTree = ""; }; - 9F4A2425223A74AE005CB63A /* secure_session_serialize.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_session_serialize.c; path = src/themis/secure_session_serialize.c; sourceTree = ""; }; - 9F4A2426223A74AE005CB63A /* secure_session_t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_session_t.h; path = src/themis/secure_session_t.h; sourceTree = ""; }; - 9F4A2427223A74AE005CB63A /* secure_keygen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_keygen.c; path = src/themis/secure_keygen.c; sourceTree = ""; }; - 9F4A2428223A74AE005CB63A /* secure_session_peer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_session_peer.h; path = src/themis/secure_session_peer.h; sourceTree = ""; }; - 9F4A2429223A74AF005CB63A /* secure_session_peer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_session_peer.c; path = src/themis/secure_session_peer.c; sourceTree = ""; }; - 9F4A242A223A74AF005CB63A /* message.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = message.c; path = src/themis/message.c; sourceTree = ""; }; - 9F4A242B223A74AF005CB63A /* sym_enc_message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sym_enc_message.h; path = src/themis/sym_enc_message.h; sourceTree = ""; }; - 9F4A242C223A74AF005CB63A /* secure_cell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_cell.h; path = src/themis/secure_cell.h; sourceTree = ""; }; - 9F4A242D223A74AF005CB63A /* secure_session.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_session.h; path = src/themis/secure_session.h; sourceTree = ""; }; - 9F4A242E223A74AF005CB63A /* secure_session_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_session_utils.c; path = src/themis/secure_session_utils.c; sourceTree = ""; }; - 9F4A242F223A74AF005CB63A /* themis_error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = themis_error.h; path = src/themis/themis_error.h; sourceTree = ""; }; - 9F4A2430223A74AF005CB63A /* secure_cell_alg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_cell_alg.h; path = src/themis/secure_cell_alg.h; sourceTree = ""; }; - 9F4A2431223A74AF005CB63A /* sym_enc_message.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sym_enc_message.c; path = src/themis/sym_enc_message.c; sourceTree = ""; }; - 9F4A2432223A74AF005CB63A /* secure_comparator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_comparator.c; path = src/themis/secure_comparator.c; sourceTree = ""; }; - 9F4A2433223A74AF005CB63A /* themis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = themis.h; path = src/themis/themis.h; sourceTree = ""; }; - 9F4A2434223A74AF005CB63A /* secure_comparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_comparator.h; path = src/themis/secure_comparator.h; sourceTree = ""; }; - 9F4A2435223A74AF005CB63A /* secure_session_message.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_session_message.c; path = src/themis/secure_session_message.c; sourceTree = ""; }; - 9F4A2436223A74AF005CB63A /* message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = message.h; path = src/themis/message.h; sourceTree = ""; }; - 9F4A2437223A74AF005CB63A /* secure_message.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_message.c; path = src/themis/secure_message.c; sourceTree = ""; }; - 9F4A2438223A74AF005CB63A /* secure_session.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_session.c; path = src/themis/secure_session.c; sourceTree = ""; }; - 9F4A2439223A74AF005CB63A /* secure_session_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_session_utils.h; path = src/themis/secure_session_utils.h; sourceTree = ""; }; - 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objcthemis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F4A24AA223A8E15005CB63A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "src/wrappers/themis/Obj-C/Themis/Info.plist"; sourceTree = ""; }; - 9F4A24B0223A8FA7005CB63A /* scell_seal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scell_seal.m; path = "src/wrappers/themis/Obj-C/objcthemis/scell_seal.m"; sourceTree = ""; }; - 9F4A24B1223A8FA7005CB63A /* ssession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ssession.h; path = "src/wrappers/themis/Obj-C/objcthemis/ssession.h"; sourceTree = ""; }; - 9F4A24B2223A8FA7005CB63A /* ssession_transport_interface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ssession_transport_interface.m; path = "src/wrappers/themis/Obj-C/objcthemis/ssession_transport_interface.m"; sourceTree = ""; }; - 9F4A24B3223A8FA7005CB63A /* scell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scell.h; path = "src/wrappers/themis/Obj-C/objcthemis/scell.h"; sourceTree = ""; }; - 9F4A24B4223A8FA8005CB63A /* scell_context_imprint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scell_context_imprint.m; path = "src/wrappers/themis/Obj-C/objcthemis/scell_context_imprint.m"; sourceTree = ""; }; - 9F4A24B5223A8FA8005CB63A /* objcthemis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = objcthemis.h; path = "src/wrappers/themis/Obj-C/objcthemis/objcthemis.h"; sourceTree = ""; }; - 9F4A24B6223A8FA8005CB63A /* scomparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scomparator.m; path = "src/wrappers/themis/Obj-C/objcthemis/scomparator.m"; sourceTree = ""; }; - 9F4A24B7223A8FA8005CB63A /* skeygen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = skeygen.m; path = "src/wrappers/themis/Obj-C/objcthemis/skeygen.m"; sourceTree = ""; }; - 9F4A24B8223A8FA8005CB63A /* smessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = smessage.m; path = "src/wrappers/themis/Obj-C/objcthemis/smessage.m"; sourceTree = ""; }; - 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scell_context_imprint.h; path = "src/wrappers/themis/Obj-C/objcthemis/scell_context_imprint.h"; sourceTree = ""; }; - 9F4A24BA223A8FA8005CB63A /* ssession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ssession.m; path = "src/wrappers/themis/Obj-C/objcthemis/ssession.m"; sourceTree = ""; }; - 9F4A24BB223A8FA8005CB63A /* serror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = serror.h; path = "src/wrappers/themis/Obj-C/objcthemis/serror.h"; sourceTree = ""; }; - 9F4A24BC223A8FA8005CB63A /* scell_seal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scell_seal.h; path = "src/wrappers/themis/Obj-C/objcthemis/scell_seal.h"; sourceTree = ""; }; - 9F4A24BD223A8FA8005CB63A /* scell_token.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scell_token.m; path = "src/wrappers/themis/Obj-C/objcthemis/scell_token.m"; sourceTree = ""; }; - 9F4A24BE223A8FA8005CB63A /* scell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scell.m; path = "src/wrappers/themis/Obj-C/objcthemis/scell.m"; sourceTree = ""; }; - 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ssession_transport_interface.h; path = "src/wrappers/themis/Obj-C/objcthemis/ssession_transport_interface.h"; sourceTree = ""; }; - 9F4A24C0223A8FA8005CB63A /* scomparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scomparator.h; path = "src/wrappers/themis/Obj-C/objcthemis/scomparator.h"; sourceTree = ""; }; - 9F4A24C1223A8FA8005CB63A /* skeygen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = skeygen.h; path = "src/wrappers/themis/Obj-C/objcthemis/skeygen.h"; sourceTree = ""; }; - 9F4A24C2223A8FA8005CB63A /* smessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = smessage.h; path = "src/wrappers/themis/Obj-C/objcthemis/smessage.h"; sourceTree = ""; }; - 9F4A24C3223A8FA8005CB63A /* scell_token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scell_token.h; path = "src/wrappers/themis/Obj-C/objcthemis/scell_token.h"; sourceTree = ""; }; - 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_cell_seal_passphrase.c; path = src/themis/secure_cell_seal_passphrase.c; sourceTree = ""; }; - 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 5, macOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureComparatorTests.m; path = tests/objcthemis/objthemis/SecureComparatorTests.m; sourceTree = ""; }; - 9F70B2C8241D1042009CB629 /* SecureCellTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureCellTests.m; path = tests/objcthemis/objthemis/SecureCellTests.m; sourceTree = ""; }; - 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objthemis-Bridging-Header.h"; path = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; sourceTree = ""; }; - 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureComparatorTestsSwift.swift; path = tests/objcthemis/objthemis/SecureComparatorTestsSwift.swift; sourceTree = ""; }; - 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureMessageTestsSwift.swift; path = tests/objcthemis/objthemis/SecureMessageTestsSwift.swift; sourceTree = ""; }; - 9F70B2CC241D1043009CB629 /* StaticKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticKeys.h; path = tests/objcthemis/objthemis/StaticKeys.h; sourceTree = ""; }; - 9F70B2CD241D1043009CB629 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = tests/objcthemis/objthemis/Info.plist; sourceTree = ""; }; - 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureMessageTests.m; path = tests/objcthemis/objthemis/SecureMessageTests.m; sourceTree = ""; }; - 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureCellTestsSwift.swift; path = tests/objcthemis/objthemis/SecureCellTestsSwift.swift; sourceTree = ""; }; - 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 5, iOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 4, iOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 4, macOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_ec_key.c; path = src/soter/soter_ec_key.c; sourceTree = ""; }; - 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rsa_key.c; path = src/soter/soter_rsa_key.c; sourceTree = ""; }; - 9F98F32422CCEA5D008E14E6 /* soter_wipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_wipe.h; path = src/soter/soter_wipe.h; sourceTree = ""; }; - 9F98F32722CCEB0E008E14E6 /* soter_wipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_wipe.c; path = src/soter/openssl/soter_wipe.c; sourceTree = ""; }; - 9FB1BC9A233BEC9900930861 /* themis_portable_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = themis_portable_endian.h; path = src/themis/themis_portable_endian.h; sourceTree = ""; }; - 9FB1BC9D233BECB900930861 /* soter_portable_endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_portable_endian.h; path = src/soter/soter_portable_endian.h; sourceTree = ""; }; - 9FBD853C223BFB5E009EAEB3 /* openssl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = openssl.framework; path = Carthage/Build/iOS/openssl.framework; sourceTree = ""; }; - 9FD4C3522260D41700132A88 /* soter_api.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = soter_api.h; path = src/soter/soter_api.h; sourceTree = ""; }; - 9FD4C3532260D43B00132A88 /* themis_api.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = themis_api.h; path = src/themis/themis_api.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 9F00E8D4223C197900EC1EF3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F00E941223C1AFA00EC1EF3 /* openssl.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F4A249E223A8D7F005CB63A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9FBD853D223BFB5E009EAEB3 /* openssl.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2B9241D0FEC009CB629 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2DD241D16B4009CB629 /* openssl.framework in Frameworks */, - 9F70B2E1241D1753009CB629 /* objcthemis.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2E4241D17A3009CB629 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2EC241D17A3009CB629 /* objcthemis.framework in Frameworks */, - 9F70B2FB241D17D8009CB629 /* openssl.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3102420E16E009CB629 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B3112420E16E009CB629 /* objcthemis.framework in Frameworks */, - 9F70B3122420E16E009CB629 /* openssl.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3282420E176009CB629 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B3292420E176009CB629 /* openssl.framework in Frameworks */, - 9F70B32A2420E176009CB629 /* objcthemis.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 738B81052239809D00A9947C = { - isa = PBXGroup; - children = ( - 9F4A24A9223A8E01005CB63A /* Themis */, - 9F70B2B7241D0FA9009CB629 /* Tests */, - 738B81102239809D00A9947C /* Products */, - 9F4A2476223A885F005CB63A /* Frameworks */, - ); - sourceTree = ""; - }; - 738B81102239809D00A9947C /* Products */ = { - isa = PBXGroup; - children = ( - 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */, - 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */, - 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */, - 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */, - 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */, - 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */, - ); - name = Products; - sourceTree = ""; - }; - 9F4A2370223A73B6005CB63A /* soter */ = { - isa = PBXGroup; - children = ( - 9F4A23A6223A742F005CB63A /* ed25519 */, - 9F4A2383223A740E005CB63A /* openssl */, - 9FD4C3522260D41700132A88 /* soter_api.h */, - 9F4A2343223A73B0005CB63A /* soter_asym_cipher.h */, - 9F4A234B223A73B0005CB63A /* soter_asym_ka.h */, - 9F4A2350223A73B1005CB63A /* soter_asym_sign.h */, - 9F4A2348223A73B0005CB63A /* soter_container.c */, - 9F4A2358223A73B1005CB63A /* soter_container.h */, - 9F4A234D223A73B0005CB63A /* soter_crc32.c */, - 9F4A234E223A73B0005CB63A /* soter_crc32.h */, - 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */, - 9F4A2352223A73B1005CB63A /* soter_ec_key.h */, - 9F4A234C223A73B0005CB63A /* soter_error.h */, - 9F4A2342223A73B0005CB63A /* soter_hash.h */, - 9F4A2353223A73B1005CB63A /* soter_hmac.c */, - 9F4A2349223A73B0005CB63A /* soter_hmac.h */, - 9F4A2357223A73B1005CB63A /* soter_kdf.c */, - 9F4A234F223A73B1005CB63A /* soter_kdf.h */, - 9FB1BC9D233BECB900930861 /* soter_portable_endian.h */, - 9F4A2354223A73B1005CB63A /* soter_rand.h */, - 9F4A234A223A73B0005CB63A /* soter_rsa_key_pair_gen.h */, - 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */, - 9F4A2347223A73B0005CB63A /* soter_rsa_key.h */, - 9F4A2355223A73B1005CB63A /* soter_sign_ecdsa.h */, - 9F4A2344223A73B0005CB63A /* soter_sign_rsa.h */, - 9F4A2351223A73B1005CB63A /* soter_sign.c */, - 9F4A2356223A73B1005CB63A /* soter_sym.h */, - 9F98F32422CCEA5D008E14E6 /* soter_wipe.h */, - 9F4A2346223A73B0005CB63A /* soter_t.h */, - 9F4A2345223A73B0005CB63A /* soter.h */, - ); - name = soter; - sourceTree = ""; - }; - 9F4A2383223A740E005CB63A /* openssl */ = { - isa = PBXGroup; - children = ( - 9F4A238F223A7426005CB63A /* soter_asym_cipher.c */, - 9F4A2388223A7425005CB63A /* soter_asym_ka.c */, - 9F4A2392223A7426005CB63A /* soter_ec_key.c */, - 9F4A2387223A7425005CB63A /* soter_ecdsa_common.c */, - 9F4A2384223A7425005CB63A /* soter_ecdsa_common.h */, - 9F4A238B223A7425005CB63A /* soter_engine.h */, - 9F4A2390223A7426005CB63A /* soter_hash.c */, - 9F33485723B38D9B00368291 /* soter_kdf.c */, - 9F4A238E223A7426005CB63A /* soter_rand.c */, - 9F4A2386223A7425005CB63A /* soter_rsa_common.c */, - 9F4A2391223A7426005CB63A /* soter_rsa_common.h */, - 9F4A238A223A7425005CB63A /* soter_rsa_key_pair_gen.c */, - 9F4A2385223A7425005CB63A /* soter_rsa_key.c */, - 9F4A2389223A7425005CB63A /* soter_sign_ecdsa.c */, - 9F4A238C223A7425005CB63A /* soter_sign_rsa.c */, - 9F4A2394223A7426005CB63A /* soter_sym.c */, - 9F4A2393223A7426005CB63A /* soter_verify_ecdsa.c */, - 9F4A238D223A7426005CB63A /* soter_verify_rsa.c */, - 9F98F32722CCEB0E008E14E6 /* soter_wipe.c */, - ); - name = openssl; - sourceTree = ""; - }; - 9F4A23A6223A742F005CB63A /* ed25519 */ = { - isa = PBXGroup; - children = ( - 9F4A23D6223A745D005CB63A /* api.h */, - 9F4A23D4223A745D005CB63A /* base.h */, - 9F4A23C8223A745C005CB63A /* base2.h */, - 9F4A23D9223A745D005CB63A /* d.h */, - 9F4A23BD223A745B005CB63A /* d2.h */, - 9F4A23B3223A745B005CB63A /* fe_0.c */, - 9F4A23CF223A745C005CB63A /* fe_1.c */, - 9F4A23B1223A745A005CB63A /* fe_add.c */, - 9F4A23A8223A745A005CB63A /* fe_cmov.c */, - 9F4A23B6223A745B005CB63A /* fe_copy.c */, - 9F4A23AC223A745A005CB63A /* fe_frombytes.c */, - 9F4A23D3223A745D005CB63A /* fe_invert.c */, - 9F4A23BE223A745B005CB63A /* fe_isnegative.c */, - 9F4A23B9223A745B005CB63A /* fe_isnonzero.c */, - 9F4A23D1223A745C005CB63A /* fe_mul.c */, - 9F4A23BC223A745B005CB63A /* fe_neg.c */, - 9F4A23DD223A745D005CB63A /* fe_pow22523.c */, - 9F4A23E0223A745D005CB63A /* fe_sq.c */, - 9F4A23B8223A745B005CB63A /* fe_sq2.c */, - 9F4A23A9223A745A005CB63A /* fe_sub.c */, - 9F4A23D2223A745D005CB63A /* fe_tobytes.c */, - 9F4A23DE223A745D005CB63A /* fe.h */, - 9F4A23DA223A745D005CB63A /* ge_add.c */, - 9F4A23CB223A745C005CB63A /* ge_add.h */, - 9F4A23C0223A745B005CB63A /* ge_cmp.c */, - 9F4A23BA223A745B005CB63A /* ge_double_scalarmult.c */, - 9F4A23D5223A745D005CB63A /* ge_frombytes_no_negate.c */, - 9F4A23A7223A745A005CB63A /* ge_frombytes.c */, - 9F4A23DB223A745D005CB63A /* ge_madd.c */, - 9F4A23CD223A745C005CB63A /* ge_madd.h */, - 9F4A23C6223A745C005CB63A /* ge_msub.c */, - 9F4A23D0223A745C005CB63A /* ge_msub.h */, - 9F4A23CC223A745C005CB63A /* ge_p1p1_to_p2.c */, - 9F4A23DC223A745D005CB63A /* ge_p1p1_to_p3.c */, - 9F4A23D7223A745D005CB63A /* ge_p2_0.c */, - 9F4A23B4223A745B005CB63A /* ge_p2_dbl.c */, - 9F4A23AB223A745A005CB63A /* ge_p2_dbl.h */, - 9F4A23B2223A745A005CB63A /* ge_p2_to_p3.c */, - 9F4A23BB223A745B005CB63A /* ge_p3_0.c */, - 9F4A23B0223A745A005CB63A /* ge_p3_dbl.c */, - 9F4A23AA223A745A005CB63A /* ge_p3_sub.c */, - 9F4A23B7223A745B005CB63A /* ge_p3_to_cached.c */, - 9F4A23C7223A745C005CB63A /* ge_p3_to_p2.c */, - 9F4A23C9223A745C005CB63A /* ge_p3_tobytes.c */, - 9F4A23BF223A745B005CB63A /* ge_precomp_0.c */, - 9F4A23DF223A745D005CB63A /* ge_scalarmult_base.c */, - 9F4A23E1223A745E005CB63A /* ge_scalarmult.c */, - 9F4A23B5223A745B005CB63A /* ge_sub.c */, - 9F4A23CA223A745C005CB63A /* ge_sub.h */, - 9F4A23AD223A745A005CB63A /* ge_tobytes.c */, - 9F4A23C5223A745C005CB63A /* ge_utils.h */, - 9F4A23C1223A745B005CB63A /* ge.h */, - 9F4A23D8223A745D005CB63A /* gen_rand_32.c */, - 9F4A23AE223A745A005CB63A /* pow22523.h */, - 9F4A23AF223A745A005CB63A /* pow225521.h */, - 9F4A23CE223A745C005CB63A /* sc_muladd.c */, - 9F4A23C2223A745B005CB63A /* sc_reduce.c */, - 9F4A23C3223A745B005CB63A /* sc.h */, - 9F4A23C4223A745C005CB63A /* sqrtm1.h */, - ); - name = ed25519; - sourceTree = ""; - }; - 9F4A241D223A7493005CB63A /* themis */ = { - isa = PBXGroup; - children = ( - 9F4A242A223A74AF005CB63A /* message.c */, - 9F4A2436223A74AF005CB63A /* message.h */, - 9F4A2430223A74AF005CB63A /* secure_cell_alg.h */, - 9F4A241E223A74AE005CB63A /* secure_cell.c */, - 9F4A242C223A74AF005CB63A /* secure_cell.h */, - 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */, - 9F34EA3023D9CA0A0079A1D7 /* secure_cell_seal_passphrase.h */, - 9F4A241F223A74AE005CB63A /* secure_comparator_t.h */, - 9F4A2432223A74AF005CB63A /* secure_comparator.c */, - 9F4A2434223A74AF005CB63A /* secure_comparator.h */, - 9F4A2427223A74AE005CB63A /* secure_keygen.c */, - 9F4A2424223A74AE005CB63A /* secure_keygen.h */, - 9F4A2422223A74AE005CB63A /* secure_message_wrapper.c */, - 9F4A2420223A74AE005CB63A /* secure_message_wrapper.h */, - 9F4A2437223A74AF005CB63A /* secure_message.c */, - 9F4A2421223A74AE005CB63A /* secure_message.h */, - 9F4A2435223A74AF005CB63A /* secure_session_message.c */, - 9F4A2429223A74AF005CB63A /* secure_session_peer.c */, - 9F4A2428223A74AE005CB63A /* secure_session_peer.h */, - 9F4A2425223A74AE005CB63A /* secure_session_serialize.c */, - 9F4A2426223A74AE005CB63A /* secure_session_t.h */, - 9F4A242E223A74AF005CB63A /* secure_session_utils.c */, - 9F4A2439223A74AF005CB63A /* secure_session_utils.h */, - 9F4A2438223A74AF005CB63A /* secure_session.c */, - 9F4A242D223A74AF005CB63A /* secure_session.h */, - 9F4A2431223A74AF005CB63A /* sym_enc_message.c */, - 9F4A242B223A74AF005CB63A /* sym_enc_message.h */, - 9FD4C3532260D43B00132A88 /* themis_api.h */, - 9F4A242F223A74AF005CB63A /* themis_error.h */, - 9FB1BC9A233BEC9900930861 /* themis_portable_endian.h */, - 9F4A2433223A74AF005CB63A /* themis.h */, - ); - name = themis; - sourceTree = ""; - }; - 9F4A2476223A885F005CB63A /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9F70B2DC241D16A9009CB629 /* iOS */, - 9F70B2DB241D16A2009CB629 /* macOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9F4A24A9223A8E01005CB63A /* Themis */ = { - isa = PBXGroup; - children = ( - 9F4A24AF223A8F85005CB63A /* objcthemis */, - 9F4A2370223A73B6005CB63A /* soter */, - 9F4A241D223A7493005CB63A /* themis */, - 9F4A24AA223A8E15005CB63A /* Info.plist */, - ); - name = Themis; - sourceTree = ""; - }; - 9F4A24AF223A8F85005CB63A /* objcthemis */ = { - isa = PBXGroup; - children = ( - 9F4A24B5223A8FA8005CB63A /* objcthemis.h */, - 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */, - 9F4A24B4223A8FA8005CB63A /* scell_context_imprint.m */, - 9F4A24BC223A8FA8005CB63A /* scell_seal.h */, - 9F4A24B0223A8FA7005CB63A /* scell_seal.m */, - 9F4A24C3223A8FA8005CB63A /* scell_token.h */, - 9F4A24BD223A8FA8005CB63A /* scell_token.m */, - 9F4A24B3223A8FA7005CB63A /* scell.h */, - 9F4A24BE223A8FA8005CB63A /* scell.m */, - 9F4A24C0223A8FA8005CB63A /* scomparator.h */, - 9F4A24B6223A8FA8005CB63A /* scomparator.m */, - 9F4A24BB223A8FA8005CB63A /* serror.h */, - 9F4A24C1223A8FA8005CB63A /* skeygen.h */, - 9F4A24B7223A8FA8005CB63A /* skeygen.m */, - 9F4A24C2223A8FA8005CB63A /* smessage.h */, - 9F4A24B8223A8FA8005CB63A /* smessage.m */, - 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */, - 9F4A24B2223A8FA7005CB63A /* ssession_transport_interface.m */, - 9F4A24B1223A8FA7005CB63A /* ssession.h */, - 9F4A24BA223A8FA8005CB63A /* ssession.m */, - ); - name = objcthemis; - sourceTree = ""; - }; - 9F70B2B7241D0FA9009CB629 /* Tests */ = { - isa = PBXGroup; - children = ( - 9F70B2C8241D1042009CB629 /* SecureCellTests.m */, - 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */, - 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */, - 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */, - 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */, - 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */, - 9F70B2CC241D1043009CB629 /* StaticKeys.h */, - 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */, - 9F70B2CD241D1043009CB629 /* Info.plist */, - ); - name = Tests; - sourceTree = ""; - }; - 9F70B2DB241D16A2009CB629 /* macOS */ = { - isa = PBXGroup; - children = ( - 9F00E940223C1AFA00EC1EF3 /* openssl.framework */, - ); - name = macOS; - sourceTree = ""; - }; - 9F70B2DC241D16A9009CB629 /* iOS */ = { - isa = PBXGroup; - children = ( - 9FBD853C223BFB5E009EAEB3 /* openssl.framework */, - ); - name = iOS; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 9F00E8D2223C197900EC1EF3 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers */, - 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers */, - 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers */, - 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers */, - 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers */, - 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers */, - 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers */, - 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers */, - 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers */, - 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers */, - 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F4A249C223A8D7F005CB63A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers */, - 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers */, - 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers */, - 9F4A24DD223A918A005CB63A /* scell_token.h in Headers */, - 9F4A24DE223A918A005CB63A /* scell.h in Headers */, - 9F4A24DF223A918A005CB63A /* scomparator.h in Headers */, - 9F4A24E0223A918A005CB63A /* serror.h in Headers */, - 9F4A24E1223A918A005CB63A /* skeygen.h in Headers */, - 9F4A24E2223A918A005CB63A /* smessage.h in Headers */, - 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers */, - 9F4A24E4223A918A005CB63A /* ssession.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2D7241D105D009CB629 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2D8241D1064009CB629 /* objthemis-Bridging-Header.h in Headers */, - 9F70B2D9241D1065009CB629 /* StaticKeys.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2F2241D17B9009CB629 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2F3241D17BF009CB629 /* objthemis-Bridging-Header.h in Headers */, - 9F70B2F4241D17C2009CB629 /* StaticKeys.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3062420E16E009CB629 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B3072420E16E009CB629 /* objthemis-Bridging-Header.h in Headers */, - 9F70B3082420E16E009CB629 /* StaticKeys.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B31E2420E176009CB629 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B31F2420E176009CB629 /* objthemis-Bridging-Header.h in Headers */, - 9F70B3202420E176009CB629 /* StaticKeys.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F00E8DE223C197A00EC1EF3 /* Build configuration list for PBXNativeTarget "Themis (macOS)" */; - buildPhases = ( - 9F00E8D2223C197900EC1EF3 /* Headers */, - 9F00E8D3223C197900EC1EF3 /* Sources */, - 9F00E8D4223C197900EC1EF3 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Themis (macOS)"; - productName = "Themis (macOS)"; - productReference = 9F00E8D7223C197900EC1EF3 /* objcthemis.framework */; - productType = "com.apple.product-type.framework"; - }; - 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F4A24A6223A8D7F005CB63A /* Build configuration list for PBXNativeTarget "Themis (iOS)" */; - buildPhases = ( - 9F4A249C223A8D7F005CB63A /* Headers */, - 9F4A249D223A8D7F005CB63A /* Sources */, - 9F4A249E223A8D7F005CB63A /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Themis (iOS)"; - productName = Themis; - productReference = 9F4A24A1223A8D7F005CB63A /* objcthemis.framework */; - productType = "com.apple.product-type.framework"; - }; - 9F70B2BB241D0FEC009CB629 /* Test Themis (Swift 5, macOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F70B2C4241D0FEC009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, macOS)" */; - buildPhases = ( - 9F70B2D7241D105D009CB629 /* Headers */, - 9F70B2B8241D0FEC009CB629 /* Sources */, - 9F70B2B9241D0FEC009CB629 /* Frameworks */, - 9F70B2DE241D172E009CB629 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 9F70B2C3241D0FEC009CB629 /* PBXTargetDependency */, - ); - name = "Test Themis (Swift 5, macOS)"; - productName = "Test Themis (macOS)"; - productReference = 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 9F70B2E6241D17A3009CB629 /* Test Themis (Swift 5, iOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F70B2EF241D17A3009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, iOS)" */; - buildPhases = ( - 9F70B2F2241D17B9009CB629 /* Headers */, - 9F70B2E3241D17A3009CB629 /* Sources */, - 9F70B2E4241D17A3009CB629 /* Frameworks */, - 9F70B2FC241D17E4009CB629 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 9F70B2EE241D17A3009CB629 /* PBXTargetDependency */, - ); - name = "Test Themis (Swift 5, iOS)"; - productName = "Test Themis (iOS)"; - productReference = 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 9F70B3032420E16E009CB629 /* Test Themis (Swift 4, iOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F70B3162420E16E009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, iOS)" */; - buildPhases = ( - 9F70B3062420E16E009CB629 /* Headers */, - 9F70B3092420E16E009CB629 /* Sources */, - 9F70B3102420E16E009CB629 /* Frameworks */, - 9F70B3132420E16E009CB629 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 9F70B3042420E16E009CB629 /* PBXTargetDependency */, - ); - name = "Test Themis (Swift 4, iOS)"; - productName = "Test Themis (iOS)"; - productReference = 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 9F70B31B2420E176009CB629 /* Test Themis (Swift 4, macOS) */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9F70B32E2420E176009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, macOS)" */; - buildPhases = ( - 9F70B31E2420E176009CB629 /* Headers */, - 9F70B3212420E176009CB629 /* Sources */, - 9F70B3282420E176009CB629 /* Frameworks */, - 9F70B32B2420E176009CB629 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 9F70B31C2420E176009CB629 /* PBXTargetDependency */, - ); - name = "Test Themis (Swift 4, macOS)"; - productName = "Test Themis (macOS)"; - productReference = 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 738B81062239809D00A9947C /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1120; - ORGANIZATIONNAME = "Cossack Labs"; - TargetAttributes = { - 9F00E8D6223C197900EC1EF3 = { - CreatedOnToolsVersion = 10.1; - }; - 9F4A24A0223A8D7F005CB63A = { - CreatedOnToolsVersion = 10.1; - }; - 9F70B2BB241D0FEC009CB629 = { - CreatedOnToolsVersion = 11.2.1; - LastSwiftMigration = 1120; - }; - 9F70B2E6241D17A3009CB629 = { - CreatedOnToolsVersion = 11.2.1; - }; - }; - }; - buildConfigurationList = 738B81092239809D00A9947C /* Build configuration list for PBXProject "ObjCThemis" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 738B81052239809D00A9947C; - productRefGroup = 738B81102239809D00A9947C /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */, - 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */, - 9F70B3032420E16E009CB629 /* Test Themis (Swift 4, iOS) */, - 9F70B31B2420E176009CB629 /* Test Themis (Swift 4, macOS) */, - 9F70B2E6241D17A3009CB629 /* Test Themis (Swift 5, iOS) */, - 9F70B2BB241D0FEC009CB629 /* Test Themis (Swift 5, macOS) */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 9F00E8D3223C197900EC1EF3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F00E934223C1AE600EC1EF3 /* message.c in Sources */, - 9F00E935223C1AE600EC1EF3 /* secure_cell.c in Sources */, - 9F00E936223C1AE600EC1EF3 /* secure_comparator.c in Sources */, - 9F00E937223C1AE600EC1EF3 /* secure_keygen.c in Sources */, - 9F00E938223C1AE600EC1EF3 /* secure_message_wrapper.c in Sources */, - 9F00E939223C1AE600EC1EF3 /* secure_message.c in Sources */, - 9F00E93A223C1AE600EC1EF3 /* secure_session_message.c in Sources */, - 9F00E93B223C1AE600EC1EF3 /* secure_session_peer.c in Sources */, - 9F00E93C223C1AE600EC1EF3 /* secure_session_serialize.c in Sources */, - 9F00E93D223C1AE600EC1EF3 /* secure_session_utils.c in Sources */, - 9F00E93E223C1AE600EC1EF3 /* secure_session.c in Sources */, - 9F00E93F223C1AE600EC1EF3 /* sym_enc_message.c in Sources */, - 9F00E92F223C1ACF00EC1EF3 /* soter_container.c in Sources */, - 9F00E930223C1ACF00EC1EF3 /* soter_crc32.c in Sources */, - 9F00E931223C1ACF00EC1EF3 /* soter_hmac.c in Sources */, - 9F00E932223C1ACF00EC1EF3 /* soter_kdf.c in Sources */, - 9F00E933223C1ACF00EC1EF3 /* soter_sign.c in Sources */, - 9F00E921223C1AC000EC1EF3 /* soter_asym_cipher.c in Sources */, - 9F00E922223C1AC000EC1EF3 /* soter_asym_ka.c in Sources */, - 9F00E923223C1AC000EC1EF3 /* soter_ec_key.c in Sources */, - 9F00E924223C1AC000EC1EF3 /* soter_ecdsa_common.c in Sources */, - 9F00E925223C1AC000EC1EF3 /* soter_hash.c in Sources */, - 9F00E926223C1AC000EC1EF3 /* soter_rand.c in Sources */, - 9F874AB422CCB0D100E8DECA /* soter_ec_key.c in Sources */, - 9F6B385623D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */, - 9F00E927223C1AC000EC1EF3 /* soter_rsa_common.c in Sources */, - 9F00E928223C1AC000EC1EF3 /* soter_rsa_key_pair_gen.c in Sources */, - 9F00E929223C1AC000EC1EF3 /* soter_rsa_key.c in Sources */, - 9F33485923B38D9B00368291 /* soter_kdf.c in Sources */, - 9F98F32922CCEB0E008E14E6 /* soter_wipe.c in Sources */, - 9F00E92A223C1AC000EC1EF3 /* soter_sign_ecdsa.c in Sources */, - 9F00E92B223C1AC000EC1EF3 /* soter_sign_rsa.c in Sources */, - 9F00E92C223C1AC000EC1EF3 /* soter_sym.c in Sources */, - 9F00E92D223C1AC000EC1EF3 /* soter_verify_ecdsa.c in Sources */, - 9F00E92E223C1AC000EC1EF3 /* soter_verify_rsa.c in Sources */, - 9F00E912223C1AB100EC1EF3 /* ge_p2_to_p3.c in Sources */, - 9F00E913223C1AB100EC1EF3 /* ge_p3_0.c in Sources */, - 9F874AB622CCB0D100E8DECA /* soter_rsa_key.c in Sources */, - 9F00E914223C1AB100EC1EF3 /* ge_p3_dbl.c in Sources */, - 9F00E915223C1AB100EC1EF3 /* ge_p3_sub.c in Sources */, - 9F00E916223C1AB100EC1EF3 /* ge_p3_to_cached.c in Sources */, - 9F00E917223C1AB100EC1EF3 /* ge_p3_to_p2.c in Sources */, - 9F00E918223C1AB100EC1EF3 /* ge_p3_tobytes.c in Sources */, - 9F00E919223C1AB100EC1EF3 /* ge_precomp_0.c in Sources */, - 9F00E91A223C1AB100EC1EF3 /* ge_scalarmult_base.c in Sources */, - 9F00E91B223C1AB100EC1EF3 /* ge_scalarmult.c in Sources */, - 9F00E91C223C1AB100EC1EF3 /* ge_sub.c in Sources */, - 9F00E91D223C1AB100EC1EF3 /* ge_tobytes.c in Sources */, - 9F00E91E223C1AB100EC1EF3 /* gen_rand_32.c in Sources */, - 9F00E91F223C1AB100EC1EF3 /* sc_muladd.c in Sources */, - 9F00E920223C1AB100EC1EF3 /* sc_reduce.c in Sources */, - 9F00E908223C1AA500EC1EF3 /* ge_cmp.c in Sources */, - 9F00E909223C1AA500EC1EF3 /* ge_double_scalarmult.c in Sources */, - 9F00E90A223C1AA500EC1EF3 /* ge_frombytes_no_negate.c in Sources */, - 9F00E90B223C1AA500EC1EF3 /* ge_frombytes.c in Sources */, - 9F00E90C223C1AA500EC1EF3 /* ge_madd.c in Sources */, - 9F00E90D223C1AA500EC1EF3 /* ge_msub.c in Sources */, - 9F00E90E223C1AA500EC1EF3 /* ge_p1p1_to_p2.c in Sources */, - 9F00E90F223C1AA500EC1EF3 /* ge_p1p1_to_p3.c in Sources */, - 9F00E910223C1AA500EC1EF3 /* ge_p2_0.c in Sources */, - 9F00E911223C1AA500EC1EF3 /* ge_p2_dbl.c in Sources */, - 9F00E8F7223C1A9600EC1EF3 /* fe_0.c in Sources */, - 9F00E8F8223C1A9600EC1EF3 /* fe_1.c in Sources */, - 9F00E8F9223C1A9600EC1EF3 /* fe_add.c in Sources */, - 9F00E8FA223C1A9600EC1EF3 /* fe_cmov.c in Sources */, - 9F00E8FB223C1A9600EC1EF3 /* fe_copy.c in Sources */, - 9F00E8FC223C1A9600EC1EF3 /* fe_frombytes.c in Sources */, - 9F00E8FD223C1A9600EC1EF3 /* fe_invert.c in Sources */, - 9F00E8FE223C1A9600EC1EF3 /* fe_isnegative.c in Sources */, - 9F00E8FF223C1A9600EC1EF3 /* fe_isnonzero.c in Sources */, - 9F00E900223C1A9600EC1EF3 /* fe_mul.c in Sources */, - 9F00E901223C1A9600EC1EF3 /* fe_neg.c in Sources */, - 9F00E902223C1A9600EC1EF3 /* fe_pow22523.c in Sources */, - 9F00E903223C1A9600EC1EF3 /* fe_sq.c in Sources */, - 9F00E904223C1A9600EC1EF3 /* fe_sq2.c in Sources */, - 9F00E905223C1A9600EC1EF3 /* fe_sub.c in Sources */, - 9F00E906223C1A9600EC1EF3 /* fe_tobytes.c in Sources */, - 9F00E907223C1A9600EC1EF3 /* ge_add.c in Sources */, - 9F00E8EE223C1A8C00EC1EF3 /* scell_context_imprint.m in Sources */, - 9F00E8EF223C1A8C00EC1EF3 /* scell_seal.m in Sources */, - 9F00E8F0223C1A8C00EC1EF3 /* scell_token.m in Sources */, - 9F00E8F1223C1A8C00EC1EF3 /* scell.m in Sources */, - 9F00E8F2223C1A8C00EC1EF3 /* scomparator.m in Sources */, - 9F00E8F3223C1A8C00EC1EF3 /* skeygen.m in Sources */, - 9F00E8F4223C1A8C00EC1EF3 /* smessage.m in Sources */, - 9F00E8F5223C1A8C00EC1EF3 /* ssession_transport_interface.m in Sources */, - 9F00E8F6223C1A8C00EC1EF3 /* ssession.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F4A249D223A8D7F005CB63A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F4A2617223ABEF2005CB63A /* message.c in Sources */, - 9F4A2618223ABEF2005CB63A /* secure_cell.c in Sources */, - 9F4A2619223ABEF2005CB63A /* secure_comparator.c in Sources */, - 9F4A261A223ABEF2005CB63A /* secure_keygen.c in Sources */, - 9F4A261B223ABEF2005CB63A /* secure_message_wrapper.c in Sources */, - 9F4A261C223ABEF2005CB63A /* secure_message.c in Sources */, - 9F4A261D223ABEF2005CB63A /* secure_session_message.c in Sources */, - 9F4A261E223ABEF2005CB63A /* secure_session_peer.c in Sources */, - 9F4A261F223ABEF2005CB63A /* secure_session_serialize.c in Sources */, - 9F4A2620223ABEF2005CB63A /* secure_session_utils.c in Sources */, - 9F4A2621223ABEF2005CB63A /* secure_session.c in Sources */, - 9F4A2622223ABEF2005CB63A /* sym_enc_message.c in Sources */, - 9F4A2612223ABEDF005CB63A /* soter_container.c in Sources */, - 9F4A2613223ABEDF005CB63A /* soter_crc32.c in Sources */, - 9F4A2614223ABEDF005CB63A /* soter_hmac.c in Sources */, - 9F4A2615223ABEDF005CB63A /* soter_kdf.c in Sources */, - 9F4A2616223ABEDF005CB63A /* soter_sign.c in Sources */, - 9F4A2604223ABECC005CB63A /* soter_asym_cipher.c in Sources */, - 9F4A2605223ABECC005CB63A /* soter_asym_ka.c in Sources */, - 9F4A2606223ABECC005CB63A /* soter_ec_key.c in Sources */, - 9F4A2607223ABECC005CB63A /* soter_ecdsa_common.c in Sources */, - 9F4A2608223ABECC005CB63A /* soter_hash.c in Sources */, - 9F4A2609223ABECC005CB63A /* soter_rand.c in Sources */, - 9F874AB322CCB0D100E8DECA /* soter_ec_key.c in Sources */, - 9F6B385523D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */, - 9F4A260A223ABECC005CB63A /* soter_rsa_common.c in Sources */, - 9F4A260B223ABECC005CB63A /* soter_rsa_key_pair_gen.c in Sources */, - 9F4A260C223ABECC005CB63A /* soter_rsa_key.c in Sources */, - 9F33485823B38D9B00368291 /* soter_kdf.c in Sources */, - 9F98F32822CCEB0E008E14E6 /* soter_wipe.c in Sources */, - 9F4A260D223ABECC005CB63A /* soter_sign_ecdsa.c in Sources */, - 9F4A260E223ABECC005CB63A /* soter_sign_rsa.c in Sources */, - 9F4A260F223ABECC005CB63A /* soter_sym.c in Sources */, - 9F4A2610223ABECC005CB63A /* soter_verify_ecdsa.c in Sources */, - 9F4A2611223ABECC005CB63A /* soter_verify_rsa.c in Sources */, - 9F4A25DA223ABEB6005CB63A /* fe_0.c in Sources */, - 9F4A25DB223ABEB6005CB63A /* fe_1.c in Sources */, - 9F874AB522CCB0D100E8DECA /* soter_rsa_key.c in Sources */, - 9F4A25DC223ABEB6005CB63A /* fe_add.c in Sources */, - 9F4A25DD223ABEB6005CB63A /* fe_cmov.c in Sources */, - 9F4A25DE223ABEB6005CB63A /* fe_copy.c in Sources */, - 9F4A25DF223ABEB6005CB63A /* fe_frombytes.c in Sources */, - 9F4A25E0223ABEB6005CB63A /* fe_invert.c in Sources */, - 9F4A25E1223ABEB6005CB63A /* fe_isnegative.c in Sources */, - 9F4A25E2223ABEB6005CB63A /* fe_isnonzero.c in Sources */, - 9F4A25E3223ABEB6005CB63A /* fe_mul.c in Sources */, - 9F4A25E4223ABEB6005CB63A /* fe_neg.c in Sources */, - 9F4A25E5223ABEB6005CB63A /* fe_pow22523.c in Sources */, - 9F4A25E6223ABEB6005CB63A /* fe_sq.c in Sources */, - 9F4A25E7223ABEB6005CB63A /* fe_sq2.c in Sources */, - 9F4A25E8223ABEB6005CB63A /* fe_sub.c in Sources */, - 9F4A25E9223ABEB6005CB63A /* fe_tobytes.c in Sources */, - 9F4A25EA223ABEB6005CB63A /* ge_add.c in Sources */, - 9F4A25EB223ABEB6005CB63A /* ge_cmp.c in Sources */, - 9F4A25EC223ABEB6005CB63A /* ge_double_scalarmult.c in Sources */, - 9F4A25ED223ABEB6005CB63A /* ge_frombytes_no_negate.c in Sources */, - 9F4A25EE223ABEB6005CB63A /* ge_frombytes.c in Sources */, - 9F4A25EF223ABEB6005CB63A /* ge_madd.c in Sources */, - 9F4A25F0223ABEB6005CB63A /* ge_msub.c in Sources */, - 9F4A25F1223ABEB6005CB63A /* ge_p1p1_to_p2.c in Sources */, - 9F4A25F2223ABEB6005CB63A /* ge_p1p1_to_p3.c in Sources */, - 9F4A25F3223ABEB6005CB63A /* ge_p2_0.c in Sources */, - 9F4A25F4223ABEB6005CB63A /* ge_p2_dbl.c in Sources */, - 9F4A25F5223ABEB6005CB63A /* ge_p2_to_p3.c in Sources */, - 9F4A25F6223ABEB6005CB63A /* ge_p3_0.c in Sources */, - 9F4A25F7223ABEB6005CB63A /* ge_p3_dbl.c in Sources */, - 9F4A25F8223ABEB6005CB63A /* ge_p3_sub.c in Sources */, - 9F4A25F9223ABEB6005CB63A /* ge_p3_to_cached.c in Sources */, - 9F4A25FA223ABEB6005CB63A /* ge_p3_to_p2.c in Sources */, - 9F4A25FB223ABEB6005CB63A /* ge_p3_tobytes.c in Sources */, - 9F4A25FC223ABEB6005CB63A /* ge_precomp_0.c in Sources */, - 9F4A25FD223ABEB6005CB63A /* ge_scalarmult_base.c in Sources */, - 9F4A25FE223ABEB6005CB63A /* ge_scalarmult.c in Sources */, - 9F4A25FF223ABEB6005CB63A /* ge_sub.c in Sources */, - 9F4A2600223ABEB6005CB63A /* ge_tobytes.c in Sources */, - 9F4A2601223ABEB6005CB63A /* gen_rand_32.c in Sources */, - 9F4A2602223ABEB6005CB63A /* sc_muladd.c in Sources */, - 9F4A2603223ABEB6005CB63A /* sc_reduce.c in Sources */, - 9F4A24D2223A8FA9005CB63A /* scell.m in Sources */, - 9F4A24C6223A8FA9005CB63A /* ssession_transport_interface.m in Sources */, - 9F4A24CC223A8FA9005CB63A /* smessage.m in Sources */, - 9F4A24CE223A8FA9005CB63A /* ssession.m in Sources */, - 9F4A24D1223A8FA9005CB63A /* scell_token.m in Sources */, - 9F4A24C8223A8FA9005CB63A /* scell_context_imprint.m in Sources */, - 9F4A24C4223A8FA9005CB63A /* scell_seal.m in Sources */, - 9F4A24CB223A8FA9005CB63A /* skeygen.m in Sources */, - 9F4A24CA223A8FA9005CB63A /* scomparator.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2B8241D0FEC009CB629 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2D6241D1043009CB629 /* SecureCellTestsSwift.swift in Sources */, - 9F70B2D3241D1043009CB629 /* SecureMessageTestsSwift.swift in Sources */, - 9F70B2D1241D1043009CB629 /* SecureCellTests.m in Sources */, - 9F70B2D0241D1043009CB629 /* SecureComparatorTests.m in Sources */, - 9F70B2D2241D1043009CB629 /* SecureComparatorTestsSwift.swift in Sources */, - 9F70B2D5241D1043009CB629 /* SecureMessageTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B2E3241D17A3009CB629 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B2F8241D17D0009CB629 /* SecureComparatorTestsSwift.swift in Sources */, - 9F70B2F7241D17CE009CB629 /* SecureComparatorTests.m in Sources */, - 9F70B2F5241D17CB009CB629 /* SecureCellTests.m in Sources */, - 9F70B2FA241D17D3009CB629 /* SecureMessageTestsSwift.swift in Sources */, - 9F70B2F9241D17D1009CB629 /* SecureMessageTests.m in Sources */, - 9F70B2F6241D17CD009CB629 /* SecureCellTestsSwift.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3092420E16E009CB629 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B30A2420E16E009CB629 /* SecureComparatorTestsSwift.swift in Sources */, - 9F70B30B2420E16E009CB629 /* SecureComparatorTests.m in Sources */, - 9F70B30C2420E16E009CB629 /* SecureCellTests.m in Sources */, - 9F70B30D2420E16E009CB629 /* SecureMessageTestsSwift.swift in Sources */, - 9F70B30E2420E16E009CB629 /* SecureMessageTests.m in Sources */, - 9F70B30F2420E16E009CB629 /* SecureCellTestsSwift.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F70B3212420E176009CB629 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9F70B3222420E176009CB629 /* SecureCellTestsSwift.swift in Sources */, - 9F70B3232420E176009CB629 /* SecureMessageTestsSwift.swift in Sources */, - 9F70B3242420E176009CB629 /* SecureCellTests.m in Sources */, - 9F70B3252420E176009CB629 /* SecureComparatorTests.m in Sources */, - 9F70B3262420E176009CB629 /* SecureComparatorTestsSwift.swift in Sources */, - 9F70B3272420E176009CB629 /* SecureMessageTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 9F70B2C3241D0FEC009CB629 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */; - targetProxy = 9F70B2C2241D0FEC009CB629 /* PBXContainerItemProxy */; - }; - 9F70B2EE241D17A3009CB629 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */; - targetProxy = 9F70B2ED241D17A3009CB629 /* PBXContainerItemProxy */; - }; - 9F70B3042420E16E009CB629 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */; - targetProxy = 9F70B3052420E16E009CB629 /* PBXContainerItemProxy */; - }; - 9F70B31C2420E176009CB629 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */; - targetProxy = 9F70B31D2420E176009CB629 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 738B81152239809D00A9947C /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SUPPORTS_MACCATALYST = NO; - TARGETED_DEVICE_FAMILY = 1; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 738B81162239809D00A9947C /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SUPPORTS_MACCATALYST = NO; - TARGETED_DEVICE_FAMILY = 1; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 9F00E8DC223C197A00EC1EF3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/src", - "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", - ); - INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; - PRODUCT_MODULE_NAME = themis; - PRODUCT_NAME = objcthemis; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 9F00E8DD223C197A00EC1EF3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/src", - "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", - ); - INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; - PRODUCT_MODULE_NAME = themis; - PRODUCT_NAME = objcthemis; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 9F4A24A7223A8D7F005CB63A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/src", - "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", - ); - INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; - PRODUCT_MODULE_NAME = themis; - PRODUCT_NAME = objcthemis; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 9F4A24A8223A8D7F005CB63A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - HEADER_SEARCH_PATHS = ( - "$(PROJECT_DIR)/src", - "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", - ); - INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; - PRODUCT_MODULE_NAME = themis; - PRODUCT_NAME = objcthemis; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 9F70B2C5241D0FEC009CB629 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 9F70B2C6241D0FEC009CB629 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 9F70B2F0241D17A3009CB629 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 9F70B2F1241D17A3009CB629 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 9F70B3172420E16E009CB629 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - 9F70B3182420E16E009CB629 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; - 9F70B32F2420E176009CB629 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - }; - name = Debug; - }; - 9F70B3302420E176009CB629 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; - PRODUCT_MODULE_NAME = themis_test; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 738B81092239809D00A9947C /* Build configuration list for PBXProject "ObjCThemis" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 738B81152239809D00A9947C /* Debug */, - 738B81162239809D00A9947C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F00E8DE223C197A00EC1EF3 /* Build configuration list for PBXNativeTarget "Themis (macOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F00E8DC223C197A00EC1EF3 /* Debug */, - 9F00E8DD223C197A00EC1EF3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F4A24A6223A8D7F005CB63A /* Build configuration list for PBXNativeTarget "Themis (iOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F4A24A7223A8D7F005CB63A /* Debug */, - 9F4A24A8223A8D7F005CB63A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F70B2C4241D0FEC009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, macOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F70B2C5241D0FEC009CB629 /* Debug */, - 9F70B2C6241D0FEC009CB629 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F70B2EF241D17A3009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, iOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F70B2F0241D17A3009CB629 /* Debug */, - 9F70B2F1241D17A3009CB629 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F70B3162420E16E009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, iOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F70B3172420E16E009CB629 /* Debug */, - 9F70B3182420E16E009CB629 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9F70B32E2420E176009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, macOS)" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9F70B32F2420E176009CB629 /* Debug */, - 9F70B3302420E176009CB629 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 738B81062239809D00A9947C /* Project object */; -} diff --git a/ObjCThemis.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ObjCThemis.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/ObjCThemis.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme b/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme deleted file mode 100644 index c9aa95008..000000000 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme b/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme deleted file mode 100644 index 307208c31..000000000 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Themis.xcodeproj/project.pbxproj b/Themis.xcodeproj/project.pbxproj index dc88cb358..30679406f 100644 --- a/Themis.xcodeproj/project.pbxproj +++ b/Themis.xcodeproj/project.pbxproj @@ -7,19 +7,17 @@ objects = { /* Begin PBXBuildFile section */ - 9F00E8DF223C19D900EC1EF3 /* themis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24AB223A8E15005CB63A /* themis.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E0223C19E000EC1EF3 /* themis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24AB223A8E15005CB63A /* themis.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; }; - 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; }; - 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; }; - 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; }; - 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; }; - 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; }; - 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; }; - 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; }; - 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; }; - 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; }; - 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; }; + 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F00E8EE223C1A8C00EC1EF3 /* scell_context_imprint.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B4223A8FA8005CB63A /* scell_context_imprint.m */; }; 9F00E8EF223C1A8C00EC1EF3 /* scell_seal.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B0223A8FA7005CB63A /* scell_seal.m */; }; 9F00E8F0223C1A8C00EC1EF3 /* scell_token.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BD223A8FA8005CB63A /* scell_token.m */; }; @@ -103,6 +101,8 @@ 9F00E93E223C1AE600EC1EF3 /* secure_session.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2438223A74AF005CB63A /* secure_session.c */; }; 9F00E93F223C1AE600EC1EF3 /* sym_enc_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2431223A74AF005CB63A /* sym_enc_message.c */; }; 9F00E941223C1AFA00EC1EF3 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; + 9F0BBCE924E6FC820073CA52 /* themis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F0BBCE824E6FC810073CA52 /* themis.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F0BBCEA24E6FC820073CA52 /* themis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F0BBCE824E6FC810073CA52 /* themis.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F33485823B38D9B00368291 /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F33485723B38D9B00368291 /* soter_kdf.c */; }; 9F33485923B38D9B00368291 /* soter_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F33485723B38D9B00368291 /* soter_kdf.c */; }; 9F4A24C4223A8FA9005CB63A /* scell_seal.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24B0223A8FA7005CB63A /* scell_seal.m */; }; @@ -114,17 +114,17 @@ 9F4A24CE223A8FA9005CB63A /* ssession.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BA223A8FA8005CB63A /* ssession.m */; }; 9F4A24D1223A8FA9005CB63A /* scell_token.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BD223A8FA8005CB63A /* scell_token.m */; }; 9F4A24D2223A8FA9005CB63A /* scell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A24BE223A8FA8005CB63A /* scell.m */; }; - 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; }; - 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; }; - 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; }; - 9F4A24DD223A918A005CB63A /* scell_token.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; }; - 9F4A24DE223A918A005CB63A /* scell.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; }; - 9F4A24DF223A918A005CB63A /* scomparator.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; }; - 9F4A24E0223A918A005CB63A /* serror.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; }; - 9F4A24E1223A918A005CB63A /* skeygen.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; }; - 9F4A24E2223A918A005CB63A /* smessage.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; }; - 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; }; - 9F4A24E4223A918A005CB63A /* ssession.h in Headers: objcthemis */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; }; + 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B5223A8FA8005CB63A /* objcthemis.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B9223A8FA8005CB63A /* scell_context_imprint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BC223A8FA8005CB63A /* scell_seal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24DD223A918A005CB63A /* scell_token.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C3223A8FA8005CB63A /* scell_token.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24DE223A918A005CB63A /* scell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B3223A8FA7005CB63A /* scell.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24DF223A918A005CB63A /* scomparator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C0223A8FA8005CB63A /* scomparator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24E0223A918A005CB63A /* serror.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BB223A8FA8005CB63A /* serror.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24E1223A918A005CB63A /* skeygen.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C1223A8FA8005CB63A /* skeygen.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24E2223A918A005CB63A /* smessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24C2223A8FA8005CB63A /* smessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24BF223A8FA8005CB63A /* ssession_transport_interface.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4A24E4223A918A005CB63A /* ssession.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F4A24B1223A8FA7005CB63A /* ssession.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F4A25DA223ABEB6005CB63A /* fe_0.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B3223A745B005CB63A /* fe_0.c */; }; 9F4A25DB223ABEB6005CB63A /* fe_1.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23CF223A745C005CB63A /* fe_1.c */; }; 9F4A25DC223ABEB6005CB63A /* fe_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A23B1223A745A005CB63A /* fe_add.c */; }; @@ -200,6 +200,54 @@ 9F4A2622223ABEF2005CB63A /* sym_enc_message.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F4A2431223A74AF005CB63A /* sym_enc_message.c */; }; 9F6B385523D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */; }; 9F6B385623D9D11600EA5D1B /* secure_cell_seal_passphrase.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */; }; + 9F70B2C1241D0FEC009CB629 /* themis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* themis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B2D0241D1043009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; + 9F70B2D1241D1043009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; + 9F70B2D2241D1043009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; + 9F70B2D3241D1043009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; + 9F70B2D5241D1043009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; + 9F70B2D6241D1043009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; + 9F70B2D8241D1064009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; + 9F70B2D9241D1065009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; + 9F70B2DD241D16B4009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; + 9F70B2E1241D1753009CB629 /* themis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* themis.framework */; }; + 9F70B2E2241D175E009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B2EC241D17A3009CB629 /* themis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* themis.framework */; }; + 9F70B2F3241D17BF009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; + 9F70B2F4241D17C2009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; + 9F70B2F5241D17CB009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; + 9F70B2F6241D17CD009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; + 9F70B2F7241D17CE009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; + 9F70B2F8241D17D0009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; + 9F70B2F9241D17D1009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; + 9F70B2FA241D17D3009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; + 9F70B2FB241D17D8009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; + 9F70B2FD241D17F0009CB629 /* themis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* themis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B2FE241D17F2009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B3072420E16E009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; + 9F70B3082420E16E009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; + 9F70B30A2420E16E009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; + 9F70B30B2420E16E009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; + 9F70B30C2420E16E009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; + 9F70B30D2420E16E009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; + 9F70B30E2420E16E009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; + 9F70B30F2420E16E009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; + 9F70B3112420E16E009CB629 /* themis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* themis.framework */; }; + 9F70B3122420E16E009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; + 9F70B3142420E16E009CB629 /* themis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F4A24A1223A8D7F005CB63A /* themis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B3152420E16E009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B31F2420E176009CB629 /* objthemis-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */; }; + 9F70B3202420E176009CB629 /* StaticKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F70B2CC241D1043009CB629 /* StaticKeys.h */; }; + 9F70B3222420E176009CB629 /* SecureCellTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */; }; + 9F70B3232420E176009CB629 /* SecureMessageTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */; }; + 9F70B3242420E176009CB629 /* SecureCellTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C8241D1042009CB629 /* SecureCellTests.m */; }; + 9F70B3252420E176009CB629 /* SecureComparatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */; }; + 9F70B3262420E176009CB629 /* SecureComparatorTestsSwift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */; }; + 9F70B3272420E176009CB629 /* SecureMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */; }; + 9F70B3292420E176009CB629 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; }; + 9F70B32A2420E176009CB629 /* themis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* themis.framework */; }; + 9F70B32C2420E176009CB629 /* themis.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E8D7223C197900EC1EF3 /* themis.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9F70B32D2420E176009CB629 /* openssl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00E940223C1AFA00EC1EF3 /* openssl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9F874AB322CCB0D100E8DECA /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */; }; 9F874AB422CCB0D100E8DECA /* soter_ec_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */; }; 9F874AB522CCB0D100E8DECA /* soter_rsa_key.c in Sources */ = {isa = PBXBuildFile; fileRef = 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */; }; @@ -209,47 +257,84 @@ 9FBD853D223BFB5E009EAEB3 /* openssl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FBD853C223BFB5E009EAEB3 /* openssl.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 9F70B2C2241D0FEC009CB629 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 738B81062239809D00A9947C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9F00E8D6223C197900EC1EF3; + remoteInfo = "Themis (macOS)"; + }; + 9F70B2ED241D17A3009CB629 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 738B81062239809D00A9947C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9F4A24A0223A8D7F005CB63A; + remoteInfo = "Themis (iOS)"; + }; + 9F70B3052420E16E009CB629 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 738B81062239809D00A9947C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9F4A24A0223A8D7F005CB63A; + remoteInfo = "Themis (iOS)"; + }; + 9F70B31D2420E176009CB629 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 738B81062239809D00A9947C /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9F00E8D6223C197900EC1EF3; + remoteInfo = "Themis (macOS)"; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ - 9F00E8E1223C1A0A00EC1EF3 /* Headers: objcthemis */ = { + 9F70B2DE241D172E009CB629 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 9F70B2C1241D0FEC009CB629 /* themis.framework in Embed Frameworks */, + 9F70B2E2241D175E009CB629 /* openssl.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B2FC241D17E4009CB629 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; - dstPath = "$(PUBLIC_HEADERS_FOLDER_PATH)/objcthemis"; - dstSubfolderSpec = 16; + dstPath = ""; + dstSubfolderSpec = 10; files = ( - 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers: objcthemis */, - 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers: objcthemis */, - 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers: objcthemis */, - 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers: objcthemis */, - 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers: objcthemis */, - 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers: objcthemis */, - 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers: objcthemis */, - 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers: objcthemis */, - 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers: objcthemis */, - 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers: objcthemis */, - 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers: objcthemis */, + 9F70B2FD241D17F0009CB629 /* themis.framework in Embed Frameworks */, + 9F70B2FE241D17F2009CB629 /* openssl.framework in Embed Frameworks */, ); - name = "Headers: objcthemis"; + name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 9F4A24D9223A915E005CB63A /* Headers: objcthemis */ = { + 9F70B3132420E16E009CB629 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; - dstPath = "$(PUBLIC_HEADERS_FOLDER_PATH)/objcthemis"; - dstSubfolderSpec = 16; + dstPath = ""; + dstSubfolderSpec = 10; files = ( - 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers: objcthemis */, - 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers: objcthemis */, - 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers: objcthemis */, - 9F4A24DD223A918A005CB63A /* scell_token.h in Headers: objcthemis */, - 9F4A24DE223A918A005CB63A /* scell.h in Headers: objcthemis */, - 9F4A24DF223A918A005CB63A /* scomparator.h in Headers: objcthemis */, - 9F4A24E0223A918A005CB63A /* serror.h in Headers: objcthemis */, - 9F4A24E1223A918A005CB63A /* skeygen.h in Headers: objcthemis */, - 9F4A24E2223A918A005CB63A /* smessage.h in Headers: objcthemis */, - 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers: objcthemis */, - 9F4A24E4223A918A005CB63A /* ssession.h in Headers: objcthemis */, + 9F70B3142420E16E009CB629 /* themis.framework in Embed Frameworks */, + 9F70B3152420E16E009CB629 /* openssl.framework in Embed Frameworks */, ); - name = "Headers: objcthemis"; + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B32B2420E176009CB629 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 9F70B32C2420E176009CB629 /* themis.framework in Embed Frameworks */, + 9F70B32D2420E176009CB629 /* openssl.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ @@ -257,6 +342,7 @@ /* Begin PBXFileReference section */ 9F00E8D7223C197900EC1EF3 /* themis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = themis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9F00E940223C1AFA00EC1EF3 /* openssl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = openssl.framework; path = Carthage/Build/Mac/openssl.framework; sourceTree = ""; }; + 9F0BBCE824E6FC810073CA52 /* themis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = themis.h; path = "src/wrappers/themis/Obj-C/Themis/themis.h"; sourceTree = ""; }; 9F33485723B38D9B00368291 /* soter_kdf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_kdf.c; path = src/soter/openssl/soter_kdf.c; sourceTree = ""; }; 9F34EA3023D9CA0A0079A1D7 /* secure_cell_seal_passphrase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = secure_cell_seal_passphrase.h; path = src/themis/secure_cell_seal_passphrase.h; sourceTree = ""; }; 9F4A2342223A73B0005CB63A /* soter_hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_hash.h; path = src/soter/soter_hash.h; sourceTree = ""; }; @@ -387,7 +473,6 @@ 9F4A2439223A74AF005CB63A /* secure_session_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure_session_utils.h; path = src/themis/secure_session_utils.h; sourceTree = ""; }; 9F4A24A1223A8D7F005CB63A /* themis.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = themis.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9F4A24AA223A8E15005CB63A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "src/wrappers/themis/Obj-C/Themis/Info.plist"; sourceTree = ""; }; - 9F4A24AB223A8E15005CB63A /* themis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = themis.h; path = "src/wrappers/themis/Obj-C/Themis/themis.h"; sourceTree = ""; }; 9F4A24B0223A8FA7005CB63A /* scell_seal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = scell_seal.m; path = "src/wrappers/themis/Obj-C/objcthemis/scell_seal.m"; sourceTree = ""; }; 9F4A24B1223A8FA7005CB63A /* ssession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ssession.h; path = "src/wrappers/themis/Obj-C/objcthemis/ssession.h"; sourceTree = ""; }; 9F4A24B2223A8FA7005CB63A /* ssession_transport_interface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ssession_transport_interface.m; path = "src/wrappers/themis/Obj-C/objcthemis/ssession_transport_interface.m"; sourceTree = ""; }; @@ -409,6 +494,19 @@ 9F4A24C2223A8FA8005CB63A /* smessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = smessage.h; path = "src/wrappers/themis/Obj-C/objcthemis/smessage.h"; sourceTree = ""; }; 9F4A24C3223A8FA8005CB63A /* scell_token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scell_token.h; path = "src/wrappers/themis/Obj-C/objcthemis/scell_token.h"; sourceTree = ""; }; 9F6B385423D9D11600EA5D1B /* secure_cell_seal_passphrase.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = secure_cell_seal_passphrase.c; path = src/themis/secure_cell_seal_passphrase.c; sourceTree = ""; }; + 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 5, macOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureComparatorTests.m; path = tests/objcthemis/objthemis/SecureComparatorTests.m; sourceTree = ""; }; + 9F70B2C8241D1042009CB629 /* SecureCellTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureCellTests.m; path = tests/objcthemis/objthemis/SecureCellTests.m; sourceTree = ""; }; + 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "objthemis-Bridging-Header.h"; path = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; sourceTree = ""; }; + 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureComparatorTestsSwift.swift; path = tests/objcthemis/objthemis/SecureComparatorTestsSwift.swift; sourceTree = ""; }; + 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureMessageTestsSwift.swift; path = tests/objcthemis/objthemis/SecureMessageTestsSwift.swift; sourceTree = ""; }; + 9F70B2CC241D1043009CB629 /* StaticKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticKeys.h; path = tests/objcthemis/objthemis/StaticKeys.h; sourceTree = ""; }; + 9F70B2CD241D1043009CB629 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = tests/objcthemis/objthemis/Info.plist; sourceTree = ""; }; + 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SecureMessageTests.m; path = tests/objcthemis/objthemis/SecureMessageTests.m; sourceTree = ""; }; + 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SecureCellTestsSwift.swift; path = tests/objcthemis/objthemis/SecureCellTestsSwift.swift; sourceTree = ""; }; + 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 5, iOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 4, iOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Test Themis (Swift 4, macOS).xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 9F874AB122CCB0D100E8DECA /* soter_ec_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_ec_key.c; path = src/soter/soter_ec_key.c; sourceTree = ""; }; 9F874AB222CCB0D100E8DECA /* soter_rsa_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = soter_rsa_key.c; path = src/soter/soter_rsa_key.c; sourceTree = ""; }; 9F98F32422CCEA5D008E14E6 /* soter_wipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = soter_wipe.h; path = src/soter/soter_wipe.h; sourceTree = ""; }; @@ -437,6 +535,42 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 9F70B2B9241D0FEC009CB629 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2DD241D16B4009CB629 /* openssl.framework in Frameworks */, + 9F70B2E1241D1753009CB629 /* themis.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B2E4241D17A3009CB629 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2EC241D17A3009CB629 /* themis.framework in Frameworks */, + 9F70B2FB241D17D8009CB629 /* openssl.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B3102420E16E009CB629 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B3112420E16E009CB629 /* themis.framework in Frameworks */, + 9F70B3122420E16E009CB629 /* openssl.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B3282420E176009CB629 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B3292420E176009CB629 /* openssl.framework in Frameworks */, + 9F70B32A2420E176009CB629 /* themis.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -444,6 +578,7 @@ isa = PBXGroup; children = ( 9F4A24A9223A8E01005CB63A /* Themis */, + 9F70B2B7241D0FA9009CB629 /* Tests */, 738B81102239809D00A9947C /* Products */, 9F4A2476223A885F005CB63A /* Frameworks */, ); @@ -454,6 +589,10 @@ children = ( 9F4A24A1223A8D7F005CB63A /* themis.framework */, 9F00E8D7223C197900EC1EF3 /* themis.framework */, + 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */, + 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */, + 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */, + 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */, ); name = Products; sourceTree = ""; @@ -628,8 +767,8 @@ 9F4A2476223A885F005CB63A /* Frameworks */ = { isa = PBXGroup; children = ( - 9F00E940223C1AFA00EC1EF3 /* openssl.framework */, - 9FBD853C223BFB5E009EAEB3 /* openssl.framework */, + 9F70B2DC241D16A9009CB629 /* iOS */, + 9F70B2DB241D16A2009CB629 /* macOS */, ); name = Frameworks; sourceTree = ""; @@ -641,7 +780,7 @@ 9F4A2370223A73B6005CB63A /* soter */, 9F4A241D223A7493005CB63A /* themis */, 9F4A24AA223A8E15005CB63A /* Info.plist */, - 9F4A24AB223A8E15005CB63A /* themis.h */, + 9F0BBCE824E6FC810073CA52 /* themis.h */, ); name = Themis; sourceTree = ""; @@ -673,6 +812,38 @@ name = objcthemis; sourceTree = ""; }; + 9F70B2B7241D0FA9009CB629 /* Tests */ = { + isa = PBXGroup; + children = ( + 9F70B2C8241D1042009CB629 /* SecureCellTests.m */, + 9F70B2CF241D1043009CB629 /* SecureCellTestsSwift.swift */, + 9F70B2C7241D1042009CB629 /* SecureComparatorTests.m */, + 9F70B2CA241D1042009CB629 /* SecureComparatorTestsSwift.swift */, + 9F70B2CE241D1043009CB629 /* SecureMessageTests.m */, + 9F70B2CB241D1042009CB629 /* SecureMessageTestsSwift.swift */, + 9F70B2CC241D1043009CB629 /* StaticKeys.h */, + 9F70B2C9241D1042009CB629 /* objthemis-Bridging-Header.h */, + 9F70B2CD241D1043009CB629 /* Info.plist */, + ); + name = Tests; + sourceTree = ""; + }; + 9F70B2DB241D16A2009CB629 /* macOS */ = { + isa = PBXGroup; + children = ( + 9F00E940223C1AFA00EC1EF3 /* openssl.framework */, + ); + name = macOS; + sourceTree = ""; + }; + 9F70B2DC241D16A9009CB629 /* iOS */ = { + isa = PBXGroup; + children = ( + 9FBD853C223BFB5E009EAEB3 /* openssl.framework */, + ); + name = iOS; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -680,7 +851,18 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9F00E8E0223C19E000EC1EF3 /* themis.h in Headers */, + 9F0BBCEA24E6FC820073CA52 /* themis.h in Headers */, + 9F00E8E2223C1A3300EC1EF3 /* objcthemis.h in Headers */, + 9F00E8E3223C1A3300EC1EF3 /* scell_context_imprint.h in Headers */, + 9F00E8E4223C1A3300EC1EF3 /* scell_seal.h in Headers */, + 9F00E8E5223C1A3300EC1EF3 /* scell_token.h in Headers */, + 9F00E8E6223C1A3300EC1EF3 /* scell.h in Headers */, + 9F00E8E7223C1A3300EC1EF3 /* scomparator.h in Headers */, + 9F00E8E8223C1A3300EC1EF3 /* serror.h in Headers */, + 9F00E8E9223C1A3300EC1EF3 /* skeygen.h in Headers */, + 9F00E8EA223C1A3300EC1EF3 /* smessage.h in Headers */, + 9F00E8EB223C1A3300EC1EF3 /* ssession_transport_interface.h in Headers */, + 9F00E8EC223C1A3300EC1EF3 /* ssession.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -688,7 +870,54 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9F00E8DF223C19D900EC1EF3 /* themis.h in Headers */, + 9F0BBCE924E6FC820073CA52 /* themis.h in Headers */, + 9F4A24DA223A918A005CB63A /* objcthemis.h in Headers */, + 9F4A24DB223A918A005CB63A /* scell_context_imprint.h in Headers */, + 9F4A24DC223A918A005CB63A /* scell_seal.h in Headers */, + 9F4A24DD223A918A005CB63A /* scell_token.h in Headers */, + 9F4A24DE223A918A005CB63A /* scell.h in Headers */, + 9F4A24DF223A918A005CB63A /* scomparator.h in Headers */, + 9F4A24E0223A918A005CB63A /* serror.h in Headers */, + 9F4A24E1223A918A005CB63A /* skeygen.h in Headers */, + 9F4A24E2223A918A005CB63A /* smessage.h in Headers */, + 9F4A24E3223A918A005CB63A /* ssession_transport_interface.h in Headers */, + 9F4A24E4223A918A005CB63A /* ssession.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B2D7241D105D009CB629 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2D8241D1064009CB629 /* objthemis-Bridging-Header.h in Headers */, + 9F70B2D9241D1065009CB629 /* StaticKeys.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B2F2241D17B9009CB629 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2F3241D17BF009CB629 /* objthemis-Bridging-Header.h in Headers */, + 9F70B2F4241D17C2009CB629 /* StaticKeys.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B3062420E16E009CB629 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B3072420E16E009CB629 /* objthemis-Bridging-Header.h in Headers */, + 9F70B3082420E16E009CB629 /* StaticKeys.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B31E2420E176009CB629 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B31F2420E176009CB629 /* objthemis-Bridging-Header.h in Headers */, + 9F70B3202420E176009CB629 /* StaticKeys.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -700,10 +929,8 @@ buildConfigurationList = 9F00E8DE223C197A00EC1EF3 /* Build configuration list for PBXNativeTarget "Themis (macOS)" */; buildPhases = ( 9F00E8D2223C197900EC1EF3 /* Headers */, - 9F00E8E1223C1A0A00EC1EF3 /* Headers: objcthemis */, 9F00E8D3223C197900EC1EF3 /* Sources */, 9F00E8D4223C197900EC1EF3 /* Frameworks */, - 9F00E8D5223C197900EC1EF3 /* Resources */, ); buildRules = ( ); @@ -719,10 +946,8 @@ buildConfigurationList = 9F4A24A6223A8D7F005CB63A /* Build configuration list for PBXNativeTarget "Themis (iOS)" */; buildPhases = ( 9F4A249C223A8D7F005CB63A /* Headers */, - 9F4A24D9223A915E005CB63A /* Headers: objcthemis */, 9F4A249D223A8D7F005CB63A /* Sources */, 9F4A249E223A8D7F005CB63A /* Frameworks */, - 9F4A249F223A8D7F005CB63A /* Resources */, ); buildRules = ( ); @@ -733,13 +958,89 @@ productReference = 9F4A24A1223A8D7F005CB63A /* themis.framework */; productType = "com.apple.product-type.framework"; }; + 9F70B2BB241D0FEC009CB629 /* Test Themis (Swift 5, macOS) */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9F70B2C4241D0FEC009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, macOS)" */; + buildPhases = ( + 9F70B2D7241D105D009CB629 /* Headers */, + 9F70B2B8241D0FEC009CB629 /* Sources */, + 9F70B2B9241D0FEC009CB629 /* Frameworks */, + 9F70B2DE241D172E009CB629 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 9F70B2C3241D0FEC009CB629 /* PBXTargetDependency */, + ); + name = "Test Themis (Swift 5, macOS)"; + productName = "Test Themis (macOS)"; + productReference = 9F70B2BC241D0FEC009CB629 /* Test Themis (Swift 5, macOS).xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 9F70B2E6241D17A3009CB629 /* Test Themis (Swift 5, iOS) */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9F70B2EF241D17A3009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, iOS)" */; + buildPhases = ( + 9F70B2F2241D17B9009CB629 /* Headers */, + 9F70B2E3241D17A3009CB629 /* Sources */, + 9F70B2E4241D17A3009CB629 /* Frameworks */, + 9F70B2FC241D17E4009CB629 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 9F70B2EE241D17A3009CB629 /* PBXTargetDependency */, + ); + name = "Test Themis (Swift 5, iOS)"; + productName = "Test Themis (iOS)"; + productReference = 9F70B2E7241D17A3009CB629 /* Test Themis (Swift 5, iOS).xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 9F70B3032420E16E009CB629 /* Test Themis (Swift 4, iOS) */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9F70B3162420E16E009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, iOS)" */; + buildPhases = ( + 9F70B3062420E16E009CB629 /* Headers */, + 9F70B3092420E16E009CB629 /* Sources */, + 9F70B3102420E16E009CB629 /* Frameworks */, + 9F70B3132420E16E009CB629 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 9F70B3042420E16E009CB629 /* PBXTargetDependency */, + ); + name = "Test Themis (Swift 4, iOS)"; + productName = "Test Themis (iOS)"; + productReference = 9F70B3192420E16F009CB629 /* Test Themis (Swift 4, iOS).xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 9F70B31B2420E176009CB629 /* Test Themis (Swift 4, macOS) */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9F70B32E2420E176009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, macOS)" */; + buildPhases = ( + 9F70B31E2420E176009CB629 /* Headers */, + 9F70B3212420E176009CB629 /* Sources */, + 9F70B3282420E176009CB629 /* Frameworks */, + 9F70B32B2420E176009CB629 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 9F70B31C2420E176009CB629 /* PBXTargetDependency */, + ); + name = "Test Themis (Swift 4, macOS)"; + productName = "Test Themis (macOS)"; + productReference = 9F70B3312420E176009CB629 /* Test Themis (Swift 4, macOS).xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 738B81062239809D00A9947C /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1010; + LastUpgradeCheck = 1120; ORGANIZATIONNAME = "Cossack Labs"; TargetAttributes = { 9F00E8D6223C197900EC1EF3 = { @@ -748,6 +1049,13 @@ 9F4A24A0223A8D7F005CB63A = { CreatedOnToolsVersion = 10.1; }; + 9F70B2BB241D0FEC009CB629 = { + CreatedOnToolsVersion = 11.2.1; + LastSwiftMigration = 1120; + }; + 9F70B2E6241D17A3009CB629 = { + CreatedOnToolsVersion = 11.2.1; + }; }; }; buildConfigurationList = 738B81092239809D00A9947C /* Build configuration list for PBXProject "Themis" */; @@ -756,6 +1064,7 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 738B81052239809D00A9947C; productRefGroup = 738B81102239809D00A9947C /* Products */; @@ -764,27 +1073,14 @@ targets = ( 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */, 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */, + 9F70B3032420E16E009CB629 /* Test Themis (Swift 4, iOS) */, + 9F70B31B2420E176009CB629 /* Test Themis (Swift 4, macOS) */, + 9F70B2E6241D17A3009CB629 /* Test Themis (Swift 5, iOS) */, + 9F70B2BB241D0FEC009CB629 /* Test Themis (Swift 5, macOS) */, ); }; /* End PBXProject section */ -/* Begin PBXResourcesBuildPhase section */ - 9F00E8D5223C197900EC1EF3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9F4A249F223A8D7F005CB63A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 9F00E8D3223C197900EC1EF3 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -974,8 +1270,83 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 9F70B2B8241D0FEC009CB629 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2D6241D1043009CB629 /* SecureCellTestsSwift.swift in Sources */, + 9F70B2D3241D1043009CB629 /* SecureMessageTestsSwift.swift in Sources */, + 9F70B2D1241D1043009CB629 /* SecureCellTests.m in Sources */, + 9F70B2D0241D1043009CB629 /* SecureComparatorTests.m in Sources */, + 9F70B2D2241D1043009CB629 /* SecureComparatorTestsSwift.swift in Sources */, + 9F70B2D5241D1043009CB629 /* SecureMessageTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B2E3241D17A3009CB629 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B2F8241D17D0009CB629 /* SecureComparatorTestsSwift.swift in Sources */, + 9F70B2F7241D17CE009CB629 /* SecureComparatorTests.m in Sources */, + 9F70B2F5241D17CB009CB629 /* SecureCellTests.m in Sources */, + 9F70B2FA241D17D3009CB629 /* SecureMessageTestsSwift.swift in Sources */, + 9F70B2F9241D17D1009CB629 /* SecureMessageTests.m in Sources */, + 9F70B2F6241D17CD009CB629 /* SecureCellTestsSwift.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B3092420E16E009CB629 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B30A2420E16E009CB629 /* SecureComparatorTestsSwift.swift in Sources */, + 9F70B30B2420E16E009CB629 /* SecureComparatorTests.m in Sources */, + 9F70B30C2420E16E009CB629 /* SecureCellTests.m in Sources */, + 9F70B30D2420E16E009CB629 /* SecureMessageTestsSwift.swift in Sources */, + 9F70B30E2420E16E009CB629 /* SecureMessageTests.m in Sources */, + 9F70B30F2420E16E009CB629 /* SecureCellTestsSwift.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9F70B3212420E176009CB629 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9F70B3222420E176009CB629 /* SecureCellTestsSwift.swift in Sources */, + 9F70B3232420E176009CB629 /* SecureMessageTestsSwift.swift in Sources */, + 9F70B3242420E176009CB629 /* SecureCellTests.m in Sources */, + 9F70B3252420E176009CB629 /* SecureComparatorTests.m in Sources */, + 9F70B3262420E176009CB629 /* SecureComparatorTestsSwift.swift in Sources */, + 9F70B3272420E176009CB629 /* SecureMessageTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 9F70B2C3241D0FEC009CB629 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */; + targetProxy = 9F70B2C2241D0FEC009CB629 /* PBXContainerItemProxy */; + }; + 9F70B2EE241D17A3009CB629 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */; + targetProxy = 9F70B2ED241D17A3009CB629 /* PBXContainerItemProxy */; + }; + 9F70B3042420E16E009CB629 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 9F4A24A0223A8D7F005CB63A /* Themis (iOS) */; + targetProxy = 9F70B3052420E16E009CB629 /* PBXContainerItemProxy */; + }; + 9F70B31C2420E176009CB629 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 9F00E8D6223C197900EC1EF3 /* Themis (macOS) */; + targetProxy = 9F70B31D2420E176009CB629 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 738B81152239809D00A9947C /* Debug */ = { isa = XCBuildConfiguration; @@ -1013,6 +1384,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_BITCODE = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -1034,8 +1406,8 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1077,6 +1449,7 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -1091,8 +1464,8 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SDKROOT = iphoneos; SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = 1; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1102,20 +1475,24 @@ 9F00E8DC223C197A00EC1EF3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "Mac Developer"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + EXPORTED_SYMBOLS_FILE = "$(PROJECT_DIR)/src/wrappers/themis/Obj-C/exported.symbols"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", ); FRAMEWORK_VERSION = A; + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/src", "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", @@ -1127,12 +1504,13 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.Themis; + MARKETING_VERSION = 0.13.2; + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; + PRODUCT_MODULE_NAME = themis; PRODUCT_NAME = themis; SDKROOT = macosx; SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wno-documentation"; }; name = Debug; }; @@ -1142,17 +1520,21 @@ CODE_SIGN_IDENTITY = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + EXPORTED_SYMBOLS_FILE = "$(PROJECT_DIR)/src/wrappers/themis/Obj-C/exported.symbols"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", ); FRAMEWORK_VERSION = A; + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/src", "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", @@ -1164,90 +1546,311 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.Themis; + MARKETING_VERSION = 0.13.2; + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; + PRODUCT_MODULE_NAME = themis; PRODUCT_NAME = themis; SDKROOT = macosx; SKIP_INSTALL = YES; + WARNING_CFLAGS = "-Wno-documentation"; }; name = Release; }; 9F4A24A7223A8D7F005CB63A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = ( + "$(ARCHS_STANDARD)", + arm64e, + ); + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = YES; + EXPORTED_SYMBOLS_FILE = "$(PROJECT_DIR)/src/wrappers/themis/Obj-C/exported.symbols"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/src", "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", ); INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.Themis; + MARKETING_VERSION = 0.13.2; + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; + PRODUCT_MODULE_NAME = themis; PRODUCT_NAME = themis; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = "-Wno-documentation"; }; name = Debug; }; 9F4A24A8223A8D7F005CB63A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + "$(ARCHS_STANDARD)", + arm64e, + ); CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 3; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = YES; + EXPORTED_SYMBOLS_FILE = "$(PROJECT_DIR)/src/wrappers/themis/Obj-C/exported.symbols"; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); + GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/src", "$(PROJECT_DIR)/src/wrappers/themis/Obj-C", ); INFOPLIST_FILE = "src/wrappers/themis/Obj-c/Themis/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 0.13.0; - PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.Themis; + MARKETING_VERSION = 0.13.2; + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis; + PRODUCT_MODULE_NAME = themis; PRODUCT_NAME = themis; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = NO; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = "-Wno-documentation"; + }; + name = Release; + }; + 9F70B2C5241D0FEC009CB629 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 9F70B2C6241D0FEC009CB629 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 9F70B2F0241D17A3009CB629 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 9F70B2F1241D17A3009CB629 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 9F70B3172420E16E009CB629 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + 9F70B3182420E16E009CB629 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + 9F70B32F2420E176009CB629 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + 9F70B3302420E176009CB629 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/Mac", + ); + INFOPLIST_FILE = tests/objcthemis/objthemis/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.cossacklabs.themis.tests; + PRODUCT_MODULE_NAME = themis_test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_OBJC_BRIDGING_HEADER = "tests/objcthemis/objthemis/objthemis-Bridging-Header.h"; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -1281,6 +1884,42 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 9F70B2C4241D0FEC009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, macOS)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9F70B2C5241D0FEC009CB629 /* Debug */, + 9F70B2C6241D0FEC009CB629 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9F70B2EF241D17A3009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 5, iOS)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9F70B2F0241D17A3009CB629 /* Debug */, + 9F70B2F1241D17A3009CB629 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9F70B3162420E16E009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, iOS)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9F70B3172420E16E009CB629 /* Debug */, + 9F70B3182420E16E009CB629 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9F70B32E2420E176009CB629 /* Build configuration list for PBXNativeTarget "Test Themis (Swift 4, macOS)" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9F70B32F2420E176009CB629 /* Debug */, + 9F70B3302420E176009CB629 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 738B81062239809D00A9947C /* Project object */; diff --git a/Themis.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Themis.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 6fb6177f6..000000000 --- a/Themis.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (iOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme similarity index 62% rename from ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (iOS).xcscheme rename to Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme index a833fb1ba..82afce8e2 100644 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (iOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, iOS).xcscheme @@ -5,22 +5,6 @@ - - - - - - + + + + - - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (macOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme similarity index 62% rename from ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (macOS).xcscheme rename to Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme index d897d1f4a..72a4ba1ef 100644 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/ObjCThemis (macOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 4, macOS).xcscheme @@ -5,22 +5,6 @@ - - - - - - + + + + - - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme similarity index 60% rename from ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme rename to Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme index 8129272f1..ab3b1a467 100644 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, iOS).xcscheme @@ -5,22 +5,6 @@ - - - - - - + ReferencedContainer = "container:Themis.xcodeproj"> @@ -57,15 +41,6 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> - - - - diff --git a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme similarity index 60% rename from ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme rename to Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme index a4a9280eb..41c3f8417 100644 --- a/ObjCThemis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Test Themis (Swift 5, macOS).xcscheme @@ -5,22 +5,6 @@ - - - - - - + ReferencedContainer = "container:Themis.xcodeproj"> @@ -57,15 +41,6 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> - - - - diff --git a/Themis.xcodeproj/xcshareddata/xcschemes/Themis (iOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Themis (iOS).xcscheme index a97c7e79f..a49bc28bf 100644 --- a/Themis.xcodeproj/xcshareddata/xcschemes/Themis (iOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Themis (iOS).xcscheme @@ -1,6 +1,6 @@ - - - - - - + + - - - - diff --git a/Themis.xcodeproj/xcshareddata/xcschemes/Themis (macOS).xcscheme b/Themis.xcodeproj/xcshareddata/xcschemes/Themis (macOS).xcscheme index 85095f152..fc06338fb 100644 --- a/Themis.xcodeproj/xcshareddata/xcschemes/Themis (macOS).xcscheme +++ b/Themis.xcodeproj/xcshareddata/xcschemes/Themis (macOS).xcscheme @@ -1,6 +1,6 @@ - - - - - - - - > 1) + return n > C.size_t(maxInt) +} + // Protect encrypts or signs data with optional user context (depending on the Cell mode). func (sc *SecureCell) Protect(data []byte, context []byte) ([]byte, []byte, error) { if (sc.mode < ModeSeal) || (sc.mode > ModeContextImprint) { @@ -266,6 +275,9 @@ func (sc *SecureCell) Protect(data []byte, context []byte) ([]byte, []byte, erro &addLen)) { return nil, nil, errors.New("Failed to get output size") } + if sizeOverflow(encLen) || sizeOverflow(addLen) { + return nil, nil, ErrOverflow + } var addData []byte var add unsafe.Pointer @@ -345,6 +357,9 @@ func (sc *SecureCell) Unprotect(protectedData []byte, additionalData []byte, con &decLen)) { return nil, errors.New("Failed to get output size") } + if sizeOverflow(decLen) { + return nil, ErrOverflow + } decData := make([]byte, decLen, decLen) if !bool(C.decrypt(unsafe.Pointer(&sc.key[0]), diff --git a/gothemis/cell/context_imprint.go b/gothemis/cell/context_imprint.go index 04f7ef76a..7fea1c21c 100644 --- a/gothemis/cell/context_imprint.go +++ b/gothemis/cell/context_imprint.go @@ -138,6 +138,9 @@ func encryptContextImprint(symmetricKey, plaintext, userContext, ciphertext []by bytesData(ciphertext), &ciphertextLength, ) + if sizeOverflow(ciphertextLength) { + return 0, errors.NoMemory + } return int(ciphertextLength), errors.ThemisErrorCode(err) } @@ -153,5 +156,8 @@ func decryptContextImprint(symmetricKey, ciphertext, userContext, plaintext []by bytesData(plaintext), &plaintextLength, ) + if sizeOverflow(plaintextLength) { + return 0, errors.NoMemory + } return int(plaintextLength), errors.ThemisErrorCode(err) } diff --git a/gothemis/cell/seal.go b/gothemis/cell/seal.go index 39485915a..c2836ac7a 100644 --- a/gothemis/cell/seal.go +++ b/gothemis/cell/seal.go @@ -137,6 +137,9 @@ func encryptSeal(symmetricKey, plaintext, userContext, ciphertext []byte) (int, bytesData(ciphertext), &ciphertextLength, ) + if sizeOverflow(ciphertextLength) { + return 0, errors.NoMemory + } return int(ciphertextLength), errors.ThemisErrorCode(err) } @@ -152,5 +155,8 @@ func decryptSeal(symmetricKey, ciphertext, userContext, plaintext []byte) (int, bytesData(plaintext), &plaintextLength, ) + if sizeOverflow(plaintextLength) { + return 0, errors.NoMemory + } return int(plaintextLength), errors.ThemisErrorCode(err) } diff --git a/gothemis/cell/seal_pw.go b/gothemis/cell/seal_pw.go index 8fc6dbe9d..b0d24d8d1 100644 --- a/gothemis/cell/seal_pw.go +++ b/gothemis/cell/seal_pw.go @@ -126,6 +126,9 @@ func encryptSealWithPassphrase(passphrase string, plaintext, userContext, cipher bytesData(ciphertext), &ciphertextLength, ) + if sizeOverflow(ciphertextLength) { + return 0, errors.NoMemory + } return int(ciphertextLength), errors.ThemisErrorCode(err) } @@ -141,5 +144,8 @@ func decryptSealWithPassphrase(passphrase string, ciphertext, userContext, plain bytesData(plaintext), &plaintextLength, ) + if sizeOverflow(plaintextLength) { + return 0, errors.NoMemory + } return int(plaintextLength), errors.ThemisErrorCode(err) } diff --git a/gothemis/cell/token_protect.go b/gothemis/cell/token_protect.go index 7347eee56..88a9170a4 100644 --- a/gothemis/cell/token_protect.go +++ b/gothemis/cell/token_protect.go @@ -148,6 +148,9 @@ func encryptTokenProtect(symmetricKey, plaintext, userContext, ciphertext, authT bytesData(ciphertext), &ciphertextLength, ) + if sizeOverflow(ciphertextLength) || sizeOverflow(authTokenLength) { + return 0, 0, errors.NoMemory + } return int(ciphertextLength), int(authTokenLength), errors.ThemisErrorCode(err) } @@ -165,5 +168,8 @@ func decryptTokenProtect(symmetricKey, ciphertext, authToken, userContext, plain bytesData(plaintext), &plaintextLength, ) + if sizeOverflow(plaintextLength) { + return 0, errors.NoMemory + } return int(plaintextLength), errors.ThemisErrorCode(err) } diff --git a/gothemis/cell/token_protect_test.go b/gothemis/cell/token_protect_test.go index 9b49d36be..5d77c19c6 100644 --- a/gothemis/cell/token_protect_test.go +++ b/gothemis/cell/token_protect_test.go @@ -359,13 +359,6 @@ func TestTokenProtectDetectExtendedData(t *testing.T) { } func TestTokenProtectDetectCorruptedToken(t *testing.T) { - // FIXME(ilammy, 2020-05-25): avoid capacity allocation panics (T1648) - // This tests panics on 32-bit architectures due to "int" overflow. - // The implementation needs to check for "int" range when casting "C.size_t". - if uint64(^uint(0)) == uint64(^uint32(0)) { - t.Skip("avoid panic on 32-bit machines") - } - key, err := keys.NewSymmetricKey() if err != nil { t.Fatal("cannot generate symmetric key", err) @@ -449,13 +442,6 @@ func TestTokenProtectDetectExtendedToken(t *testing.T) { } func TestTokenProtectSwapDataAndToken(t *testing.T) { - // FIXME(ilammy, 2020-05-25): avoid capacity allocation panics (T1648) - // This tests panics on 32-bit architectures due to "int" overflow. - // The implementation needs to check for "int" range when casting "C.size_t". - if uint64(^uint(0)) == uint64(^uint32(0)) { - t.Skip("avoid panic on 32-bit machines") - } - key, err := keys.NewSymmetricKey() if err != nil { t.Fatal("cannot generate symmetric key", err) diff --git a/gothemis/compare/compare.go b/gothemis/compare/compare.go index 9516931e4..bfd74a053 100644 --- a/gothemis/compare/compare.go +++ b/gothemis/compare/compare.go @@ -53,9 +53,10 @@ static int compare_result(void *ctx) */ import "C" import ( - "github.com/cossacklabs/themis/gothemis/errors" "runtime" "unsafe" + + "github.com/cossacklabs/themis/gothemis/errors" ) // Secure comparison result. @@ -78,6 +79,7 @@ const ( var ( ErrMissingSecret = errors.NewWithCode(errors.InvalidParameter, "empty secret for Secure Comparator") ErrMissingData = errors.NewWithCode(errors.InvalidParameter, "empty comparison message for Secure Comparator") + ErrOverflow = errors.NewWithCode(errors.NoMemory, "Secure Comparator cannot allocate enough memory") ) // SecureCompare is an interactive protocol for two parties that compares whether @@ -90,6 +92,13 @@ func finalize(sc *SecureCompare) { sc.Close() } +// C returns sizes as size_t but Go expresses buffer lengths as int. +// Make sure that all sizes are representable in Go and there is no overflows. +func sizeOverflow(n C.size_t) bool { + const maxInt = int(^uint(0) >> 1) + return n > C.size_t(maxInt) +} + // New prepares a new secure comparison. func New() (*SecureCompare, error) { ctx := C.compare_init() @@ -135,6 +144,9 @@ func (sc *SecureCompare) Begin() ([]byte, error) { if !bool(C.compare_begin_size(sc.ctx, &outLen)) { return nil, errors.New("Failed to get output size") } + if sizeOverflow(outLen) { + return nil, ErrOverflow + } out := make([]byte, outLen) @@ -157,6 +169,9 @@ func (sc *SecureCompare) Proceed(data []byte) ([]byte, error) { if !bool(C.compare_proceed_size(sc.ctx, unsafe.Pointer(&data[0]), C.size_t(len(data)), &outLen)) { return nil, errors.New("Failed to get output size") } + if sizeOverflow(outLen) { + return nil, ErrOverflow + } if 0 == outLen { outLen++ diff --git a/gothemis/keys/keypair.go b/gothemis/keys/keypair.go index 798cd652a..ff5abafed 100644 --- a/gothemis/keys/keypair.go +++ b/gothemis/keys/keypair.go @@ -54,8 +54,9 @@ static bool gen_keys(int key_type, void *private, size_t priv_len, void *public, import "C" import ( - "github.com/cossacklabs/themis/gothemis/errors" "unsafe" + + "github.com/cossacklabs/themis/gothemis/errors" ) // Type of Themis key. @@ -75,6 +76,7 @@ const ( // Errors returned by key generation. var ( ErrInvalidType = errors.NewWithCode(errors.InvalidParameter, "invalid key type specified") + ErrOverflow = errors.NewWithCode(errors.NoMemory, "key generator cannot allocate enough memory") ) // PrivateKey stores a ECDSA or RSA private key. @@ -103,6 +105,9 @@ func New(keytype int) (*Keypair, error) { if !bool(C.get_key_size(C.int(keytype), &privLen, &pubLen)) { return nil, errors.New("Failed to get needed key sizes") } + if sizeOverflow(privLen) || sizeOverflow(pubLen) { + return nil, ErrOverflow + } priv := make([]byte, int(privLen), int(privLen)) pub := make([]byte, int(pubLen), int(pubLen)) @@ -116,3 +121,10 @@ func New(keytype int) (*Keypair, error) { Public: &PublicKey{Value: pub}, }, nil } + +// C returns sizes as size_t but Go expresses buffer lengths as int. +// Make sure that all sizes are representable in Go and there is no overflows. +func sizeOverflow(n C.size_t) bool { + const maxInt = int(^uint(0) >> 1) + return n > C.size_t(maxInt) +} diff --git a/gothemis/keys/symmetric.go b/gothemis/keys/symmetric.go index 5def7457a..cd891aba1 100644 --- a/gothemis/keys/symmetric.go +++ b/gothemis/keys/symmetric.go @@ -36,6 +36,9 @@ func NewSymmetricKey() (*SymmetricKey, error) { if !bool(C.get_sym_key_size(&len)) { return nil, errors.New("Failed to get symmetric key size") } + if sizeOverflow(len) { + return nil, ErrOverflow + } key := make([]byte, int(len), int(len)) if !bool(C.gen_sym_key(unsafe.Pointer(&key[0]), len)) { diff --git a/gothemis/message/message.go b/gothemis/message/message.go index 67d2ee4dc..d6bfc2d8a 100644 --- a/gothemis/message/message.go +++ b/gothemis/message/message.go @@ -63,9 +63,10 @@ static bool process(const void *priv, size_t priv_len, const void *public, size_ */ import "C" import ( + "unsafe" + "github.com/cossacklabs/themis/gothemis/errors" "github.com/cossacklabs/themis/gothemis/keys" - "unsafe" ) const ( @@ -80,6 +81,7 @@ var ( ErrMissingMessage = errors.NewWithCode(errors.InvalidParameter, "empty message for Secure Cell") ErrMissingPublicKey = errors.NewWithCode(errors.InvalidParameter, "empty peer public key for Secure Message") ErrMissingPrivateKey = errors.NewWithCode(errors.InvalidParameter, "empty private key for Secure Message") + ErrOverflow = errors.NewWithCode(errors.NoMemory, "Secure Message cannot allocate enough memory") ) // SecureMessage provides a sequence-independent, stateless, contextless messaging system. @@ -95,6 +97,13 @@ func New(private *keys.PrivateKey, peerPublic *keys.PublicKey) *SecureMessage { return &SecureMessage{private, peerPublic} } +// C returns sizes as size_t but Go expresses buffer lengths as int. +// Make sure that all sizes are representable in Go and there is no overflows. +func sizeOverflow(n C.size_t) bool { + const maxInt = int(^uint(0) >> 1) + return n > C.size_t(maxInt) +} + func messageProcess(private *keys.PrivateKey, peerPublic *keys.PublicKey, message []byte, mode int) ([]byte, error) { if nil == message || 0 == len(message) { return nil, ErrMissingMessage @@ -128,6 +137,9 @@ func messageProcess(private *keys.PrivateKey, peerPublic *keys.PublicKey, messag &outputLength)) { return nil, errors.New("Failed to get output size") } + if sizeOverflow(outputLength) { + return nil, ErrOverflow + } output := make([]byte, int(outputLength), int(outputLength)) if !bool(C.process(priv, diff --git a/gothemis/session/session.go b/gothemis/session/session.go index 8097c72e3..0f4e0f94a 100644 --- a/gothemis/session/session.go +++ b/gothemis/session/session.go @@ -11,11 +11,12 @@ extern const int GOTHEMIS_SSESSION_SEND_OUTPUT_TO_PEER; */ import "C" import ( - "github.com/cossacklabs/themis/gothemis/errors" - "github.com/cossacklabs/themis/gothemis/keys" "reflect" "runtime" "unsafe" + + "github.com/cossacklabs/themis/gothemis/errors" + "github.com/cossacklabs/themis/gothemis/keys" ) // Secure Session states. @@ -39,6 +40,7 @@ var ( ErrMissingClientID = errors.NewWithCode(errors.InvalidParameter, "empty client ID for Secure Session") ErrMissingPrivateKey = errors.NewWithCode(errors.InvalidParameter, "empty client private key for Secure Session") ErrMissingMessage = errors.NewWithCode(errors.InvalidParameter, "empty message for Secure Session") + ErrOverflow = errors.NewWithCode(errors.NoMemory, "Secure Session cannot allocate enough memory") ) // SessionCallbacks implements a delegate for SecureSession. @@ -60,6 +62,13 @@ func finalize(ss *SecureSession) { ss.Close() } +// C returns sizes as size_t but Go expresses buffer lengths as int. +// Make sure that all sizes are representable in Go and there is no overflows. +func sizeOverflow(n C.size_t) bool { + const maxInt = int(^uint(0) >> 1) + return n > C.size_t(maxInt) +} + // New makes a new Secure Session with provided peer ID, private key, and callbacks. func New(id []byte, signKey *keys.PrivateKey, callbacks SessionCallbacks) (*SecureSession, error) { ss := &SecureSession{clb: callbacks} @@ -102,6 +111,9 @@ func (ss *SecureSession) Close() error { //export onPublicKeyForId func onPublicKeyForId(ssCtx unsafe.Pointer, idPtr unsafe.Pointer, idLen C.size_t, keyPtr unsafe.Pointer, keyLen C.size_t) int { var ss *SecureSession + if sizeOverflow(idLen) { + return int(C.THEMIS_NO_MEMORY) + } id := C.GoBytes(idPtr, C.int(idLen)) ss = (*SecureSession)(unsafe.Pointer(uintptr(ssCtx) - unsafe.Offsetof(ss.ctx))) @@ -140,6 +152,9 @@ func (ss *SecureSession) ConnectRequest() ([]byte, error) { &reqLen)) { return nil, errors.New("Failed to get request size") } + if sizeOverflow(reqLen) { + return nil, ErrOverflow + } req := make([]byte, reqLen) if !bool(C.session_connect(&ss.ctx, @@ -165,6 +180,9 @@ func (ss *SecureSession) Wrap(data []byte) ([]byte, error) { &outLen)) { return nil, errors.New("Failed to get wrapped size") } + if sizeOverflow(outLen) { + return nil, ErrOverflow + } out := make([]byte, outLen) if !bool(C.session_wrap(&ss.ctx, @@ -199,6 +217,9 @@ func (ss *SecureSession) Unwrap(data []byte) ([]byte, bool, error) { case (C.GOTHEMIS_BUFFER_TOO_SMALL != res): return nil, false, errors.New("Failed to get unwrapped size") } + if sizeOverflow(outLen) { + return nil, false, ErrOverflow + } out := make([]byte, outLen) @@ -232,6 +253,9 @@ func (ss *SecureSession) GetRemoteID() ([]byte, error) { if outLength == 0 { return nil, errors.NewCallbackError("Incorrect remote id length (0)") } + if sizeOverflow(outLength) { + return nil, ErrOverflow + } out := make([]byte, int(outLength)) if C.secure_session_get_remote_id(ss.ctx.session, (*C.uint8_t)(&out[0]), &outLength) != C.THEMIS_SUCCESS { return nil, errors.NewCallbackError("Failed to get session remote id") diff --git a/gradle.properties b/gradle.properties index a2903b5ac..0f6359110 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,8 +10,8 @@ org.gradle.configureondemand=true # Versions of AndroidThemis and JavaThemis packages. -androidThemisVersion=0.13.0 -javaThemisVersion=0.13.0 +androidThemisVersion=0.13.1 +javaThemisVersion=0.13.1 # Android Studio insists that this is set to use JUnit test runner. android.useAndroidX=true diff --git a/src/soter/openssl/soter_ec_key.c b/src/soter/openssl/soter_ec_key.c index e13f6bb57..060e27647 100644 --- a/src/soter/openssl/soter_ec_key.c +++ b/src/soter/openssl/soter_ec_key.c @@ -18,6 +18,7 @@ #include +#include #include #include diff --git a/src/soter/openssl/soter_rsa_common.c b/src/soter/openssl/soter_rsa_common.c index 9a1331d9b..b92576315 100644 --- a/src/soter/openssl/soter_rsa_common.c +++ b/src/soter/openssl/soter_rsa_common.c @@ -16,6 +16,7 @@ #include "soter/openssl/soter_rsa_common.h" +#include #include #include diff --git a/src/soter/openssl/soter_rsa_key.c b/src/soter/openssl/soter_rsa_key.c index 918206507..2c2128f25 100644 --- a/src/soter/openssl/soter_rsa_key.c +++ b/src/soter/openssl/soter_rsa_key.c @@ -18,6 +18,7 @@ #include +#include #include #include diff --git a/src/soter/openssl/soter_rsa_key_pair_gen.c b/src/soter/openssl/soter_rsa_key_pair_gen.c index d76ec036d..a53ddb227 100644 --- a/src/soter/openssl/soter_rsa_key_pair_gen.c +++ b/src/soter/openssl/soter_rsa_key_pair_gen.c @@ -18,6 +18,7 @@ #include +#include #include #include diff --git a/src/themis/secure_cell_seal_passphrase.c b/src/themis/secure_cell_seal_passphrase.c index 105493367..dc0172078 100644 --- a/src/themis/secure_cell_seal_passphrase.c +++ b/src/themis/secure_cell_seal_passphrase.c @@ -99,7 +99,13 @@ static themis_status_t themis_auth_sym_derive_encryption_key_pbkdf2( goto error; } - res = themis_auth_sym_kdf_context(message_length, soter_kdf_context, &soter_kdf_context_length); + /* + * themis_auth_sym_encrypt_message_with_passphrase_() makes sure that + * message_length fits into uint32_t. + */ + res = themis_auth_sym_kdf_context((uint32_t)message_length, + soter_kdf_context, + &soter_kdf_context_length); if (res != THEMIS_SUCCESS) { goto error; } @@ -181,6 +187,7 @@ themis_status_t themis_auth_sym_encrypt_message_with_passphrase_(const uint8_t* uint8_t auth_tag[THEMIS_AUTH_SYM_AUTH_TAG_LENGTH] = {0}; uint8_t derived_key[THEMIS_AUTH_SYM_KEY_LENGTH / 8] = {0}; size_t derived_key_length = sizeof(derived_key); + size_t auth_token_real_length = 0; struct themis_scell_auth_token_passphrase hdr; /* Message length is currently stored as 32-bit integer, sorry */ @@ -233,8 +240,11 @@ themis_status_t themis_auth_sym_encrypt_message_with_passphrase_(const uint8_t* goto error; } - if (*auth_token_length < themis_scell_auth_token_passphrase_size(&hdr)) { - *auth_token_length = themis_scell_auth_token_passphrase_size(&hdr); + /* In valid Secure Cells auth token length always fits into uint32_t. */ + auth_token_real_length = (uint32_t)themis_scell_auth_token_passphrase_size(&hdr); + + if (*auth_token_length < auth_token_real_length) { + *auth_token_length = auth_token_real_length; res = THEMIS_BUFFER_TOO_SMALL; goto error; } @@ -242,7 +252,7 @@ themis_status_t themis_auth_sym_encrypt_message_with_passphrase_(const uint8_t* if (res != THEMIS_SUCCESS) { goto error; } - *auth_token_length = themis_scell_auth_token_passphrase_size(&hdr); + *auth_token_length = auth_token_real_length; *encrypted_message_length = message_length; error: @@ -324,7 +334,13 @@ static themis_status_t themis_auth_sym_derive_decryption_key_pbkdf2( goto error; } - res = themis_auth_sym_kdf_context(message_length, soter_kdf_context, &soter_kdf_context_length); + /* + * themis_auth_sym_decrypt_message_with_passphrase_() makes sure that + * message_length fits into uint32_t. + */ + res = themis_auth_sym_kdf_context((uint32_t)message_length, + soter_kdf_context, + &soter_kdf_context_length); if (res != THEMIS_SUCCESS) { goto error; } diff --git a/src/themis/sym_enc_message.c b/src/themis/sym_enc_message.c index 01fae57cc..b2768928e 100644 --- a/src/themis/sym_enc_message.c +++ b/src/themis/sym_enc_message.c @@ -277,6 +277,7 @@ themis_status_t themis_auth_sym_encrypt_message_(const uint8_t* key, uint8_t derived_key[THEMIS_AUTH_SYM_KEY_LENGTH / 8] = {0}; size_t kdf_context_length = sizeof(kdf_context); size_t derived_key_length = sizeof(derived_key); + size_t auth_token_real_length = 0; struct themis_scell_auth_token_key hdr; /* Message length is currently stored as 32-bit integer, sorry */ @@ -331,8 +332,11 @@ themis_status_t themis_auth_sym_encrypt_message_(const uint8_t* key, goto error; } - if (*auth_token_length < themis_scell_auth_token_key_size(&hdr)) { - *auth_token_length = themis_scell_auth_token_key_size(&hdr); + /* In valid Secure Cells auth token length always fits into uint32_t. */ + auth_token_real_length = (uint32_t)themis_scell_auth_token_key_size(&hdr); + + if (*auth_token_length < auth_token_real_length) { + *auth_token_length = auth_token_real_length; res = THEMIS_BUFFER_TOO_SMALL; goto error; } @@ -340,7 +344,7 @@ themis_status_t themis_auth_sym_encrypt_message_(const uint8_t* key, if (res != THEMIS_SUCCESS) { goto error; } - *auth_token_length = themis_scell_auth_token_key_size(&hdr); + *auth_token_length = auth_token_real_length; *encrypted_message_length = message_length; error: diff --git a/src/wrappers/themis/Obj-C/Themis/themis.h b/src/wrappers/themis/Obj-C/Themis/themis.h index 9191b4f60..343bb2ac2 100644 --- a/src/wrappers/themis/Obj-C/Themis/themis.h +++ b/src/wrappers/themis/Obj-C/Themis/themis.h @@ -20,8 +20,4 @@ FOUNDATION_EXPORT double themisVersionNumber; //! Project version string for Themis. FOUNDATION_EXPORT const unsigned char themisVersionString[]; -#import "objcthemis/objcthemis.h" - -#warning #import is deprecated since Themis 0.13. \ -Please use #import instead. \ -See https://github.com/cossacklabs/themis/blob/master/CHANGELOG.md#0.13.0-objcthemis-rename +#import "objcthemis.h" diff --git a/src/wrappers/themis/Obj-C/exported.symbols b/src/wrappers/themis/Obj-C/exported.symbols new file mode 100644 index 000000000..acf8a3460 --- /dev/null +++ b/src/wrappers/themis/Obj-C/exported.symbols @@ -0,0 +1,5 @@ +# Export only Objective-C classes in TS (Themis) namespace +_OBJC_CLASS_$_TS* +_OBJC_METACLASS_$_TS* +# As well as global function from the said namespace too +_TS* diff --git a/src/wrappers/themis/android/build.gradle b/src/wrappers/themis/android/build.gradle index ac71611f8..5b9a29cc6 100644 --- a/src/wrappers/themis/android/build.gradle +++ b/src/wrappers/themis/android/build.gradle @@ -72,8 +72,15 @@ android { // publishing and bitray upload tasks should not run for ':boringssl' project tasks.whenTaskAdded { task -> - println "executing $task ..." - if (task.name != 'bintrayUpload' && task.name != 'publishProductionPublicationToMavenLocal' && task.name != 'generatePomFileForProductionPublication') { + def excludeBoringSSL = [ + 'bintrayUpload', + 'publishProductionPublicationToMavenLocal', + 'generatePomFileForProductionPublication', + 'generateSourceJar', + 'generateJavadoc', + 'generateJavadocJar', + ] + if (!excludeBoringSSL.contains(task.name)) { task.dependsOn(':boringssl:' + task.name) } } @@ -94,6 +101,36 @@ android { } } +// Publishing on JCenter requires packages with Java source code and Javadocs. +// Note that "archiveClassifier" values are important for JCenter. + +task generateSourceJar(type: Jar) { + description = 'Assembles a JAR with Java source code' + archiveClassifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + +task generateJavadoc(type: Javadoc) { + description = 'Generates Javadocs from the source code' + source = android.sourceSets.main.java.srcDirs + title = 'Themis API Reference' + // Javadoc chokes on non-Java files so exclude non-sources from the source dir. + excludes = ['build', 'build.gradle'] + // Add Android core system and all dependencies to classpath so that Javadoc + // finds their classes and links to them correctly. + classpath += files(android.bootClasspath) + android.libraryVariants.all { variant -> + classpath += variant.javaCompile.classpath + } +} + +task generateJavadocJar(type: Jar) { + description = 'Assembles a JAR with Javadocs' + archiveClassifier = 'javadoc' + from generateJavadoc.destinationDir + dependsOn 'generateJavadoc' +} + // distribution apply plugin: 'com.jfrog.bintray' @@ -103,6 +140,8 @@ publishing { publications { Production(MavenPublication) { artifact("build/outputs/aar/android.aar") + artifact generateSourceJar + artifact generateJavadocJar groupId 'com.cossacklabs.com' artifactId 'themis' version androidThemisVersion diff --git a/src/wrappers/themis/jsthemis/package-lock.json b/src/wrappers/themis/jsthemis/package-lock.json index f59bcacc7..144f5008f 100644 --- a/src/wrappers/themis/jsthemis/package-lock.json +++ b/src/wrappers/themis/jsthemis/package-lock.json @@ -1,6 +1,6 @@ { "name": "jsthemis", - "version": "0.13.0", + "version": "0.13.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -486,9 +486,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "log-symbols": { diff --git a/src/wrappers/themis/jsthemis/package.json b/src/wrappers/themis/jsthemis/package.json index e144cec40..f7e94627a 100644 --- a/src/wrappers/themis/jsthemis/package.json +++ b/src/wrappers/themis/jsthemis/package.json @@ -1,6 +1,6 @@ { "name": "jsthemis", - "version": "0.13.0", + "version": "0.13.1", "description": "Themis is a convenient cryptographic library for data protection.", "main": "build/Release/jsthemis.node", "scripts": { diff --git a/src/wrappers/themis/wasm/package-lock.json b/src/wrappers/themis/wasm/package-lock.json index 7c7338b2e..99ecc531e 100644 --- a/src/wrappers/themis/wasm/package-lock.json +++ b/src/wrappers/themis/wasm/package-lock.json @@ -1,6 +1,6 @@ { "name": "wasm-themis", - "version": "0.13.0", + "version": "0.13.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -491,9 +491,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "log-symbols": { diff --git a/src/wrappers/themis/wasm/package.json b/src/wrappers/themis/wasm/package.json index 5917e3954..9c7724fed 100644 --- a/src/wrappers/themis/wasm/package.json +++ b/src/wrappers/themis/wasm/package.json @@ -1,6 +1,6 @@ { "name": "wasm-themis", - "version": "0.13.0", + "version": "0.13.1", "description": "Themis is a convenient cryptographic library for data protection.", "main": "src/index.js", "scripts": { diff --git a/tests/objcthemis/Podfile b/tests/objcthemis/Podfile index c7eaf6aa0..3328e4388 100644 --- a/tests/objcthemis/Podfile +++ b/tests/objcthemis/Podfile @@ -16,7 +16,7 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '10.0' inhibit_all_warnings! target "objthemis" do @@ -26,6 +26,9 @@ target "objthemis" do end +#TODO: add tests for openssl1.1.1 target? + + target "objthemis_boring" do # example should work with head diff --git a/tests/objcthemis/objthemis/SecureCellTests.m b/tests/objcthemis/objthemis/SecureCellTests.m index e1cb1051a..fead6a725 100644 --- a/tests/objcthemis/objthemis/SecureCellTests.m +++ b/tests/objcthemis/objthemis/SecureCellTests.m @@ -6,7 +6,15 @@ // #import + +// TODO: use a unified import here +// CocoaPods tests do not work with canonical import of Themis for some reason. +// Please fix this if you have any idea how. +#if COCOAPODS #import +#else +@import themis; +#endif @interface SecureCellKeygen : XCTestCase @end diff --git a/tests/objcthemis/objthemis/SecureComparatorTests.m b/tests/objcthemis/objthemis/SecureComparatorTests.m index 3a6743769..f7d740def 100644 --- a/tests/objcthemis/objthemis/SecureComparatorTests.m +++ b/tests/objcthemis/objthemis/SecureComparatorTests.m @@ -6,7 +6,15 @@ // #import + +// TODO: use a unified import here +// CocoaPods tests do not work with canonical import of Themis for some reason. +// Please fix this if you have any idea how. +#if COCOAPODS #import +#else +@import themis; +#endif @interface SecureComparatorTests : XCTestCase diff --git a/tests/objcthemis/objthemis/SecureMessageTests.m b/tests/objcthemis/objthemis/SecureMessageTests.m index b5593374f..71d3f5c8d 100644 --- a/tests/objcthemis/objthemis/SecureMessageTests.m +++ b/tests/objcthemis/objthemis/SecureMessageTests.m @@ -6,9 +6,18 @@ // #import -#import + #import "StaticKeys.h" +// TODO: use a unified import here +// CocoaPods tests do not work with canonical import of Themis for some reason. +// Please fix this if you have any idea how. +#if COCOAPODS +#import +#else +@import themis; +#endif + @interface SecureMessageTests : XCTestCase @end diff --git a/tests/objcthemis/objthemis/StaticKeys.h b/tests/objcthemis/objthemis/StaticKeys.h index 65c4b7e54..7bfa3c346 100644 --- a/tests/objcthemis/objthemis/StaticKeys.h +++ b/tests/objcthemis/objthemis/StaticKeys.h @@ -8,6 +8,8 @@ #ifndef StaticKeys_h #define StaticKeys_h +#import + static NSString * privateKeyEc256 = @"UkVDMgAAAC1JhwRrAPIGB33HHFmhjzn8lIE/nsW6cG+TCI3jhYJb+D/Gnwvf"; static NSString * publicKeyEc256 = @"VUVDMgAAAC11WDPUAhLfH+nqSBHh+XGOJBHL/cCjbtasiLZEwpokhO5QTD6g"; diff --git a/tests/objcthemis/objthemis/objthemis-Bridging-Header.h b/tests/objcthemis/objthemis/objthemis-Bridging-Header.h index 0da73d44e..0e939b154 100644 --- a/tests/objcthemis/objthemis/objthemis-Bridging-Header.h +++ b/tests/objcthemis/objthemis/objthemis-Bridging-Header.h @@ -6,7 +6,15 @@ #ifndef objcthemis_Bridging_Header_h #define objcthemis_Bridging_Header_h - #import #import "StaticKeys.h" +// TODO: use a unified import here +// CocoaPods tests do not work with canonical import of Themis for some reason. +// Please fix this if you have any idea how. +#if COCOAPODS +#import +#else +@import themis; +#endif + #endif /* objcthemis_Bridging_Header_h */ diff --git a/themis.podspec b/themis.podspec index d8498de2e..dd4ab94af 100644 --- a/themis.podspec +++ b/themis.podspec @@ -1,38 +1,112 @@ Pod::Spec.new do |s| s.name = "themis" - s.version = "0.13.0" + s.version = "0.13.3" s.summary = "Data security library for network communication and data storage for iOS and mac OS" s.description = "Themis is a convenient cryptographic library for data protection. It provides secure messaging with forward secrecy and secure data storage. Themis is aimed at modern development practices and has a unified API across 12 platforms, including iOS/macOS, Ruby, JavaScript, Python, and Java/Android." s.homepage = "https://cossacklabs.com" s.license = { :type => 'Apache 2.0'} s.source = { :git => "https://github.com/cossacklabs/themis.git", :tag => "#{s.version}" } + s.author = {'cossacklabs' => 'info@cossacklabs.com'} s.module_name = 'themis' s.default_subspec = 'themis-openssl' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.9' + s.ios.deployment_target = '10.0' + s.osx.deployment_target = '10.11' s.ios.frameworks = 'UIKit', 'Foundation' # TODO(ilammy, 2020-03-02): resolve "pod spec lint" warnings due to dependencies # If you update dependencies, please check whether we can remove "--allow-warnings" # from podspec validation in .github/workflows/test-objc.yaml + # TODO(vixentael, 11 oct 2020): as xcode12 introduces new arm64 architecture, our own openssl framework doesn't work yet + # Change openssl-1.1.1 to default when fix our openssl + # This variant uses the current stable, non-legacy version of OpenSSL. + s.subspec 'openssl-1.1.1' do |so| + # OpenSSL 1.1.1g + so.dependency 'CLOpenSSL', '~> 1.1.107' + + # Enable Bitcode in projects that depend on Themis. + so.ios.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'YES' } + + # We're building some C code here which uses includes as it pleases. + # Allow this behavior, but we will have to control header mappings. + so.ios.xcconfig = { + 'OTHER_CFLAGS' => '-DLIBRESSL', + 'USE_HEADERMAP' => 'NO', + 'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/themis/src" "${PODS_ROOT}/themis/src/wrappers/themis/Obj-C"', + 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', + } + so.osx.xcconfig = { + 'OTHER_CFLAGS' => '-DLIBRESSL', + 'USE_HEADERMAP' => 'NO', + 'HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/themis/src" "${PODS_ROOT}/themis/src/wrappers/themis/Obj-C"', + 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', + } + + # We need to do this weird subspec matryoshka because CocoaPods + # insists on compiling everything as if it were a modular framework. + # Unfortunately, Themis has a lot of #include "themis/something.h" + # which break in modular compilation. The "header_dir" fixes it up, + # but we must set it differently for ObjCThemis. Hence two subspecs. + # End users should use "themis/openssl-1.1.1" only, not these ones. + so.subspec 'core' do |ss| + ss.source_files = [ + "src/themis/*.{c,h}", + "src/soter/*.{c,h}", + "src/soter/ed25519/*.{c,h}", + "src/soter/openssl/*.{c,h}", + ] + ss.header_dir = "src" + ss.header_mappings_dir = "src" + # Don't export Themis Core headers, make only ObjcThemis public. + ss.private_header_files = [ + "src/themis/*.h", + "src/soter/*.h", + "src/soter/ed25519/*.h", + "src/soter/openssl/*.h", + ] + end + so.subspec 'objcwrapper' do |ss| + ss.dependency 'themis/openssl-1.1.1/core' + ss.source_files = "src/wrappers/themis/Obj-C/objcthemis/*.{m,h}" + ss.header_dir = "objcthemis" + ss.header_mappings_dir = "src/wrappers/themis/Obj-C/objcthemis" + ss.public_header_files = "src/wrappers/themis/Obj-C/objcthemis/*.h" + end + end + # use `themis/themis-openssl` as separate target to use Themis with OpenSSL s.subspec 'themis-openssl' do |so| - # Enable bitcode for openssl only, unfortunately boringssl with bitcode not available at the moment - so.ios.pod_target_xcconfig = {'ENABLE_BITCODE' => 'YES' } - + # Enable bitcode for OpenSSL in a very specific way, but it works, thanks to @deszip + #so.ios.pod_target_xcconfig = {'ENABLE_BITCODE' => 'YES' } + so.ios.pod_target_xcconfig = { + 'OTHER_CFLAGS[config=Debug]' => '$(inherited) -fembed-bitcode-marker', + 'OTHER_CFLAGS[config=Release]' => '$(inherited) -fembed-bitcode', + 'BITCODE_GENERATION_MODE[config=Release]' => 'bitcode', + 'BITCODE_GENERATION_MODE[config=Debug]' => 'bitcode-marker' + } + + # Xcode12, arm64 simulator issues https://stackoverflow.com/a/63955114 + # disable building for arm64 simulator for now + + so.ios.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } + so.ios.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' } + + # TODO: due to error in symbols in GRKOpenSSLFramework 219 release, we've manually switched to 218 # which doesn't sound like a good decision, so when GRKOpenSSLFramework will be updated – # please bring back correct dependency version # https://github.com/cossacklabs/themis/issues/538 # 26 sept 2019 #so.dependency 'GRKOpenSSLFramework', '~> 1.0.1' # <-- this is good + # 11 oct 2020 update: trying 1.0.2.20, but it also gives linking errors, so postponed + # https://github.com/levigroker/GRKOpenSSLFramework/issues/10 + #so.dependency 'GRKOpenSSLFramework', '1.0.2.20' # 1.0.2u, latest in 1.0.2 branch - so.dependency 'GRKOpenSSLFramework', '1.0.2.18' # <-- this is bad and temp + so.dependency 'GRKOpenSSLFramework', '1.0.2.18' # <-- this is temp so.ios.xcconfig = { 'OTHER_CFLAGS' => '-DLIBRESSL', 'USE_HEADERMAP' => 'NO', @@ -91,4 +165,4 @@ Pod::Spec.new do |s| ss.dependency 'themis/themis-boringssl/core' end end -end +end \ No newline at end of file