From 340bfb690b4671f0c0efea162111b49bf60d79b7 Mon Sep 17 00:00:00 2001 From: Oleksandr Deundiak Date: Fri, 5 Jul 2019 16:29:18 +0300 Subject: [PATCH 1/5] Migrating to v6 --- Cartfile | 3 +- Cartfile.resolved | 9 ++- Source/BrainKey/BrainKey+Operations.swift | 74 ----------------------- Source/BrainKey/BrainKey.swift | 39 ++++-------- Source/BrainKey/BrainKeyContext.swift | 14 ++--- Source/Client/PythiaClient+Queries.swift | 14 ++++- Source/Client/PythiaClient.swift | 55 +++++++++-------- Source/Client/PythiaClientProtocol.swift | 2 +- Tests/TestConfig.swift | 1 - Tests/VSY001_BrainKeyTests.swift | 7 ++- VirgilSDKPythia.podspec | 7 +-- VirgilSDKPythia.xcodeproj/project.pbxproj | 32 ---------- VirgilSDKPythia/Info.plist | 2 +- 13 files changed, 71 insertions(+), 188 deletions(-) delete mode 100644 Source/BrainKey/BrainKey+Operations.swift diff --git a/Cartfile b/Cartfile index a7ef551..afab5de 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1 @@ -github "VirgilSecurity/virgil-sdk-x" ~> 5.7 -github "VirgilSecurity/virgil-crypto-x" ~> 5.0.0-alpha2 \ No newline at end of file +github "VirgilSecurity/virgil-sdk-x" "develop-v6" \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved index 2f92c58..d3680cf 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,4 @@ -github "VirgilSecurity/virgil-crypto-c" "v0.6.0" -github "VirgilSecurity/virgil-crypto-x" "5.0.0-alpha2" -github "VirgilSecurity/virgil-cryptoapi-x" "1.0.5" -github "VirgilSecurity/virgil-cryptowrapper-x" "0.6.0" -github "VirgilSecurity/virgil-sdk-x" "5.7.2" +github "VirgilSecurity/virgil-crypto-c" "v0.8.0-alpha" +github "VirgilSecurity/virgil-crypto-x" "37ffe7336379c1a1dfefaeaecd9dff7df5bc5635" +github "VirgilSecurity/virgil-cryptowrapper-x" "a79b11c2a023927744542544b5eaa3f061c140b2" +github "VirgilSecurity/virgil-sdk-x" "e8db7741cd67ccac83453c755d6ae986bd028320" diff --git a/Source/BrainKey/BrainKey+Operations.swift b/Source/BrainKey/BrainKey+Operations.swift deleted file mode 100644 index f0f1f68..0000000 --- a/Source/BrainKey/BrainKey+Operations.swift +++ /dev/null @@ -1,74 +0,0 @@ -// -// Copyright (C) 2015-2019 Virgil Security Inc. -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// (1) Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// (2) Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in -// the documentation and/or other materials provided with the -// distribution. -// -// (3) Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// Lead Maintainer: Virgil Security Inc. -// - -import Foundation -import VirgilSDK -import VirgilCrypto - -extension BrainKey { - internal func makeSeedOperation(blindedPassword: Data, brainKeyId: String?) -> GenericOperation { - return CallbackOperation { operation, completion in - do { - let token: AccessToken = try operation.findDependencyResult() - - let seed = try self.client.generateSeed(blindedPassword: blindedPassword, - brainKeyId: brainKeyId, - token: token.stringRepresentation()) - - completion(seed, nil) - } - catch { - completion(nil, error) - } - } - } - - internal func makeGenerateOperation(blindingSecret: Data) -> GenericOperation { - return CallbackOperation { operation, completion in - do { - let seed: Data = try operation.findDependencyResult() - - let deblindedPassword = try self.pythiaCrypto.deblind(transformedPassword: seed, - blindingSecret: blindingSecret) - - completion(try self.pythiaCrypto.generateKeyPair(usingSeed: deblindedPassword), nil) - } - catch { - completion(nil, error) - } - } - } -} diff --git a/Source/BrainKey/BrainKey.swift b/Source/BrainKey/BrainKey.swift index c4728d5..912ef95 100644 --- a/Source/BrainKey/BrainKey.swift +++ b/Source/BrainKey/BrainKey.swift @@ -44,15 +44,12 @@ import VirgilCrypto @objc public let client: PythiaClientProtocol /// PythiaCryptoProtocol implementation @objc public let pythiaCrypto: PythiaCryptoProtocol - /// AccessTokenProvider implementation - @objc public let accessTokenProvider: AccessTokenProvider /// Initializer /// /// - Parameter context: BrainKey context @objc public init(context: BrainKeyContext) { self.client = context.client - self.accessTokenProvider = context.accessTokenProvider self.pythiaCrypto = context.pythiaCrypto } @@ -64,37 +61,23 @@ import VirgilCrypto /// - Returns: GenericOperation with VirgilKeyPair open func generateKeyPair(password: String, brainKeyId: String? = nil) -> GenericOperation { return CallbackOperation { _, completion in - let tokenContext = TokenContext(service: "pythia", operation: "seed", forceReload: false) - let getTokenOperation = OperationUtils.makeGetTokenOperation( - tokenContext: tokenContext, accessTokenProvider: self.accessTokenProvider) - - let blindedResult: BlindResult do { - blindedResult = try self.pythiaCrypto.blind(password: password) + let blindedResult = try self.pythiaCrypto.blind(password: password) + + let seed = try self.client.generateSeed(blindedPassword: blindedResult.blindedPassword, + brainKeyId: brainKeyId) + + let deblindedPassword = try self.pythiaCrypto.deblind(transformedPassword: seed, + blindingSecret: blindedResult.blindingSecret) + + let keyPair = try self.pythiaCrypto.generateKeyPair(usingSeed: deblindedPassword) + + completion(keyPair, nil) } catch { completion(nil, error) return } - - let seedOperation = self.makeSeedOperation(blindedPassword: blindedResult.blindedPassword, - brainKeyId: brainKeyId) - - let generateOperation = self.makeGenerateOperation(blindingSecret: blindedResult.blindingSecret) - - let completionOperation = OperationUtils.makeCompletionOperation(completion: completion) - - seedOperation.addDependency(getTokenOperation) - - generateOperation.addDependency(seedOperation) - - completionOperation.addDependency(getTokenOperation) - completionOperation.addDependency(seedOperation) - completionOperation.addDependency(generateOperation) - - let queue = OperationQueue() - let operations = [getTokenOperation, seedOperation, generateOperation, completionOperation] - queue.addOperations(operations, waitUntilFinished: false) } } } diff --git a/Source/BrainKey/BrainKeyContext.swift b/Source/BrainKey/BrainKeyContext.swift index f87159a..d7c1c1c 100644 --- a/Source/BrainKey/BrainKeyContext.swift +++ b/Source/BrainKey/BrainKeyContext.swift @@ -44,18 +44,14 @@ import VirgilCrypto @objc public let client: PythiaClientProtocol /// PythiaCryptoProtocol implementation @objc public let pythiaCrypto: PythiaCryptoProtocol - /// AccessTokenProvider implementation - @objc public let accessTokenProvider: AccessTokenProvider - /// Initializer /// /// - Parameters: /// - client: PythiaClientProtocol implementation /// - pythiaCrypto: PythiaCryptoProtocol implementation - /// - accessTokenProvider: AccessTokenProvider implementation - @objc public init(client: PythiaClientProtocol = PythiaClient(), + /// - keyPairType: Keypair type + @objc public init(client: PythiaClientProtocol, pythiaCrypto: PythiaCryptoProtocol? = nil, - accessTokenProvider: AccessTokenProvider, keyPairType: KeyPairType = .ed25519) throws { self.client = client if let pythiaCrypto = pythiaCrypto { @@ -65,7 +61,6 @@ import VirgilCrypto let crypto = try VirgilCrypto(defaultKeyType: keyPairType, useSHA256Fingerprints: false) self.pythiaCrypto = try PythiaCrypto(crypto: crypto) } - self.accessTokenProvider = accessTokenProvider super.init() } @@ -75,8 +70,7 @@ import VirgilCrypto /// - Parameter accessTokenProvider: AccessTokenProvider implementation /// - Returns: Initialized BrainKeyContext instance @objc public static func makeContext(accessTokenProvider: AccessTokenProvider) throws -> BrainKeyContext { - return try BrainKeyContext(client: PythiaClient(), - pythiaCrypto: PythiaCrypto(crypto: try VirgilCrypto()), - accessTokenProvider: accessTokenProvider) + return try BrainKeyContext(client: PythiaClient(accessTokenProvider: accessTokenProvider), + pythiaCrypto: PythiaCrypto(crypto: try VirgilCrypto())) } } diff --git a/Source/Client/PythiaClient+Queries.swift b/Source/Client/PythiaClient+Queries.swift index 1ad58ad..4ef3b14 100644 --- a/Source/Client/PythiaClient+Queries.swift +++ b/Source/Client/PythiaClient+Queries.swift @@ -39,6 +39,10 @@ import VirgilSDK // MARK: - PythiaClientProtocol implementation extension PythiaClient: PythiaClientProtocol { + private func createRetry() -> RetryProtocol { + return ExpBackoffRetry(config: self.retryConfig) + } + /// Generates seed using given blinded password and brainkey id /// /// - Parameters: @@ -49,7 +53,7 @@ extension PythiaClient: PythiaClientProtocol { /// - Throws: PythiaClientError.constructingUrl if url is not valid /// Rethrows from HttpConnectionProtocol.send, PythiaClient.proccessResponse /// See PythiaClient.handleError - @objc public func generateSeed(blindedPassword: Data, brainKeyId: String?, token: String) throws -> Data { + @objc public func generateSeed(blindedPassword: Data, brainKeyId: String?) throws -> Data { guard let url = URL(string: "pythia/v1/brainkey", relativeTo: self.serviceUrl) else { throw PythiaClientError.constructingUrl } @@ -62,9 +66,13 @@ extension PythiaClient: PythiaClientProtocol { params["brainkey_id"] = brainKeyId } - let request = try ServiceRequest(url: url, method: .post, accessToken: token, params: params) + let tokenContext = TokenContext(service: "pythia", operation: "seed", forceReload: false) + + let request = try ServiceRequest(url: url, method: .post, params: params) - let response = try self.connection.send(request) + let response = try self.sendWithRetry(request, retry: self.createRetry(), tokenContext: tokenContext) + .startSync() + .getResult() class SeedResponse: Codable { let seed: Data diff --git a/Source/Client/PythiaClient.swift b/Source/Client/PythiaClient.swift index 6e39b4b..3ab74b9 100644 --- a/Source/Client/PythiaClient.swift +++ b/Source/Client/PythiaClient.swift @@ -76,38 +76,45 @@ import VirgilSDK /// Error domain for Error instances thrown from service @objc override open class var serviceErrorDomain: String { return "VirgilSDK.PythiaServiceErrorDomain" } - /// Initializes a new `PythiaClient` instance - /// - /// - Parameters: - /// - serviceUrl: URL of service client will use - /// - connection: custom HTTPConnection - override public init(serviceUrl: URL = PythiaClient.defaultURL, connection: HttpConnectionProtocol) { - super.init(serviceUrl: serviceUrl, connection: connection) - } + internal let retryConfig: ExpBackoffRetry.Config - /// Initializes a new `PythiaClient` instance - @objc public convenience init() { - self.init(serviceUrl: PythiaClient.defaultURL) + /// Initializes new `PythiaClient` instance + /// + /// - Parameter accessTokenProvider: Access Token Provider + @objc public convenience init(accessTokenProvider: AccessTokenProvider) { + self.init(accessTokenProvider: accessTokenProvider, serviceUrl: CardClient.defaultURL) } - /// Initializes a new `PythiaClient` instance + /// Initializes new `PythiaClient` instance /// - /// - Parameter serviceUrl: URL of service client will use - @objc public convenience init(serviceUrl: URL) { - self.init(serviceUrl: serviceUrl, connection: HttpConnection()) + /// - Parameters: + /// - accessTokenProvider: Access Token Provider + /// - serviceUrl: service URL + @objc public convenience init(accessTokenProvider: AccessTokenProvider, serviceUrl: URL) { + self.init(accessTokenProvider: accessTokenProvider, + serviceUrl: serviceUrl, + retryConfig: ExpBackoffRetry.Config()) } - /// Handles error + /// Initializes new `PythiaClient` instance /// /// - Parameters: - /// - statusCode: http status code - /// - body: response - /// - Returns: Corresponding error - override open func handleError(statusCode: Int, body: Data?) -> Error { - if let body = body, let rawServiceError = try? JSONDecoder().decode(RawServiceError.self, from: body) { - return PythiaServiceError(httpStatusCode: statusCode, rawServiceError: rawServiceError) - } + /// - accessTokenProvider: Access Token Provider + /// - serviceUrl: service URL + /// - requestRetryConfig: Retry config + public init(accessTokenProvider: AccessTokenProvider, + serviceUrl: URL, + connection: HttpConnectionProtocol? = nil, + retryConfig: ExpBackoffRetry.Config) { + let version = VersionUtils.getVersion(bundleIdentitifer: "com.virgilsecurity.VirgilSDKPythia") + + let connection = connection ?? + HttpConnection(adapters: [VirgilAgentAdapter(product: "brainkey", version: version)]) + + self.retryConfig = retryConfig - return super.handleError(statusCode: statusCode, body: body) + super.init(accessTokenProvider: accessTokenProvider, + serviceUrl: serviceUrl, + connection: connection) } } diff --git a/Source/Client/PythiaClientProtocol.swift b/Source/Client/PythiaClientProtocol.swift index ff65a22..bfe1e37 100644 --- a/Source/Client/PythiaClientProtocol.swift +++ b/Source/Client/PythiaClientProtocol.swift @@ -48,5 +48,5 @@ import Foundation /// - token: authorization token /// - Returns: Generated seed /// - Throws: Depends on implementation - @objc func generateSeed(blindedPassword: Data, brainKeyId: String?, token: String) throws -> Data + @objc func generateSeed(blindedPassword: Data, brainKeyId: String?) throws -> Data } diff --git a/Tests/TestConfig.swift b/Tests/TestConfig.swift index fec52ce..8bf8361 100644 --- a/Tests/TestConfig.swift +++ b/Tests/TestConfig.swift @@ -37,7 +37,6 @@ import Foundation class TestConfig: Decodable { - let ApiPublicKeyId: String let ApiPrivateKey: String let AppId: String let ServiceURL: String diff --git a/Tests/VSY001_BrainKeyTests.swift b/Tests/VSY001_BrainKeyTests.swift index 1482b74..7a45b31 100644 --- a/Tests/VSY001_BrainKeyTests.swift +++ b/Tests/VSY001_BrainKeyTests.swift @@ -45,14 +45,15 @@ class VSY001_BrainKeyTests: XCTestCase { func test001_RealClient() { let crypto = try! VirgilCrypto() - let client = PythiaClient(serviceUrl: URL(string: self.config.ServiceURL)!) let apiKey = try! crypto.importPrivateKey(from: Data(base64Encoded: self.config.ApiPrivateKey)!).privateKey - let generator = JwtGenerator(apiKey: apiKey, apiPublicKeyIdentifier: self.config.ApiPublicKeyId, accessTokenSigner: VirgilAccessTokenSigner(virgilCrypto: crypto), appId: self.config.AppId, ttl: 3600) + let generator = try! JwtGenerator(apiKey: apiKey, crypto: crypto, appId: self.config.AppId, ttl: 3600) let identity = UUID().uuidString let provider = GeneratorJwtProvider(jwtGenerator: generator, defaultIdentity: identity) - let brainKeyContext = try! BrainKeyContext.init(client: client, pythiaCrypto: PythiaCrypto(crypto: crypto), accessTokenProvider: provider) + let client = PythiaClient(accessTokenProvider: provider, serviceUrl: URL(string: self.config.ServiceURL)!) + + let brainKeyContext = try! BrainKeyContext.init(client: client, pythiaCrypto: PythiaCrypto(crypto: crypto)) let brainKey = BrainKey(context: brainKeyContext) let keyPair1 = try! brainKey.generateKeyPair(password: "some password").startSync().getResult() diff --git a/VirgilSDKPythia.podspec b/VirgilSDKPythia.podspec index 6f2ccde..34439c9 100644 --- a/VirgilSDKPythia.podspec +++ b/VirgilSDKPythia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "VirgilSDKPythia" - s.version = "0.5.1" + s.version = "0.6.0" s.license = { :type => "BSD", :file => "LICENSE" } s.summary = "Virgil Pythia SDK for Apple devices and languages." s.homepage = "https://github.com/VirgilSecurity/virgil-pythia-x/" @@ -11,7 +11,6 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" s.source_files = 'Source/**/*.{swift}' - s.dependency "VirgilSDK", "~> 5.7" - s.dependency "VirgilCryptoPythia", "~> 0.6.0" - s.dependency "VirgilCrypto", "~> 5.0.0-alpha2" + s.dependency "VirgilSDK", "~> 6.0" + s.dependency "VirgilCryptoPythia", "~> 0.8.0" end diff --git a/VirgilSDKPythia.xcodeproj/project.pbxproj b/VirgilSDKPythia.xcodeproj/project.pbxproj index 6ca3fbb..1e1a90b 100644 --- a/VirgilSDKPythia.xcodeproj/project.pbxproj +++ b/VirgilSDKPythia.xcodeproj/project.pbxproj @@ -55,21 +55,15 @@ 423F71BD223F98CB00E8CDA9 /* VSCPythia.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 423F7182223F981A00E8CDA9 /* VSCPythia.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4249A09B21EEA03E0076851C /* VirgilSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A09621EEA03D0076851C /* VirgilSDK.framework */; }; 4249A09D21EEA03E0076851C /* VirgilCrypto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A09821EEA03E0076851C /* VirgilCrypto.framework */; }; - 4249A09E21EEA03E0076851C /* VirgilCryptoAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A09921EEA03E0076851C /* VirgilCryptoAPI.framework */; }; - 4249A0A521EEA04E0076851C /* VirgilCryptoAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0A021EEA04D0076851C /* VirgilCryptoAPI.framework */; }; 4249A0A821EEA04E0076851C /* VirgilSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0A321EEA04E0076851C /* VirgilSDK.framework */; }; 4249A0A921EEA04E0076851C /* VirgilCrypto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0A421EEA04E0076851C /* VirgilCrypto.framework */; }; - 4249A0AF21EEA05C0076851C /* VirgilCryptoAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0AA21EEA05C0076851C /* VirgilCryptoAPI.framework */; }; 4249A0B021EEA05C0076851C /* VirgilCrypto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0AB21EEA05C0076851C /* VirgilCrypto.framework */; }; 4249A0B221EEA05C0076851C /* VirgilSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0AD21EEA05C0076851C /* VirgilSDK.framework */; }; 4249A0B921EEA0700076851C /* VirgilSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0B421EEA0700076851C /* VirgilSDK.framework */; }; 4249A0BA21EEA0700076851C /* VirgilCrypto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0B521EEA0700076851C /* VirgilCrypto.framework */; }; - 4249A0BC21EEA0700076851C /* VirgilCryptoAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4249A0B721EEA0700076851C /* VirgilCryptoAPI.framework */; }; 424F67BC21EEA40200E70BAB /* VirgilCrypto.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0A421EEA04E0076851C /* VirgilCrypto.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 424F67BD21EEA40200E70BAB /* VirgilCryptoAPI.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0A021EEA04D0076851C /* VirgilCryptoAPI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 424F67BF21EEA40200E70BAB /* VirgilSDK.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0A321EEA04E0076851C /* VirgilSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 424F67C221EEA40E00E70BAB /* VirgilCrypto.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A09821EEA03E0076851C /* VirgilCrypto.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 424F67C321EEA40E00E70BAB /* VirgilCryptoAPI.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A09921EEA03E0076851C /* VirgilCryptoAPI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 424F67C521EEA40E00E70BAB /* VirgilSDK.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A09621EEA03D0076851C /* VirgilSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4264B5F92240C78C0096E6E4 /* VirgilCryptoFoundation.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 423F71A5223F985000E8CDA9 /* VirgilCryptoFoundation.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4264B5FC2240C78C0096E6E4 /* VirgilCryptoPythia.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 423F71A4223F985000E8CDA9 /* VirgilCryptoPythia.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -82,28 +76,23 @@ 4264B6412240C8BE0096E6E4 /* VSCFoundation.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 423F718D223F982A00E8CDA9 /* VSCFoundation.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4264B6492240C8BE0096E6E4 /* VSCPythia.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 423F718C223F982A00E8CDA9 /* VSCPythia.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4264B64F2240C8BE0096E6E4 /* VirgilCrypto.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0AB21EEA05C0076851C /* VirgilCrypto.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 4264B6502240C8BE0096E6E4 /* VirgilCryptoAPI.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0AA21EEA05C0076851C /* VirgilCryptoAPI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 4264B6512240C8BE0096E6E4 /* VirgilSDK.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4249A0AD21EEA05C0076851C /* VirgilSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 42792EB820A9A4B400C95A29 /* BrainKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB720A9A4B400C95A29 /* BrainKey.swift */; }; 42792EBA20A9A52C00C95A29 /* BrainKey+Obj-C.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */; }; 42792EBC20A9AAE200C95A29 /* BrainKeyContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */; }; 42792EBE20A9AC4900C95A29 /* BlindResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBD20A9AC4900C95A29 /* BlindResult.swift */; }; 42792EC020A9AD3500C95A29 /* PythiaCrypto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBF20A9AD3500C95A29 /* PythiaCrypto.swift */; }; - 42792EC220A9AE1D00C95A29 /* BrainKey+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */; }; 42792F8320AC6C4400C95A29 /* VSY001_BrainKeyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792F8220AC6C4400C95A29 /* VSY001_BrainKeyTests.swift */; }; 42A76B6A20AED95200561EA2 /* VirgilSDKPythia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A76B6120AED95200561EA2 /* VirgilSDKPythia.framework */; }; 42A76BA720AED99B00561EA2 /* VirgilSDKPythia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42A76B9E20AED99A00561EA2 /* VirgilSDKPythia.framework */; }; 42A76BC220AEDA1100561EA2 /* BrainKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB720A9A4B400C95A29 /* BrainKey.swift */; }; 42A76BC320AEDA1100561EA2 /* BrainKey+Obj-C.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */; }; - 42A76BC420AEDA1100561EA2 /* BrainKey+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */; }; 42A76BC520AEDA1100561EA2 /* BrainKeyContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */; }; 42A76BC620AEDA1100561EA2 /* BrainKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB720A9A4B400C95A29 /* BrainKey.swift */; }; 42A76BC720AEDA1100561EA2 /* BrainKey+Obj-C.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */; }; - 42A76BC820AEDA1100561EA2 /* BrainKey+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */; }; 42A76BC920AEDA1100561EA2 /* BrainKeyContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */; }; 42A76BCA20AEDA1200561EA2 /* BrainKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB720A9A4B400C95A29 /* BrainKey.swift */; }; 42A76BCB20AEDA1200561EA2 /* BrainKey+Obj-C.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */; }; - 42A76BCC20AEDA1200561EA2 /* BrainKey+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */; }; 42A76BCD20AEDA1200561EA2 /* BrainKeyContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */; }; 42A76BCE20AEDA1500561EA2 /* PythiaCryptoProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4201210A2077C1E800632FD9 /* PythiaCryptoProtocol.swift */; }; 42A76BCF20AEDA1500561EA2 /* BlindResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42792EBD20A9AC4900C95A29 /* BlindResult.swift */; }; @@ -199,7 +188,6 @@ 4264B6412240C8BE0096E6E4 /* VSCFoundation.framework in CopyFiles */, 4264B6492240C8BE0096E6E4 /* VSCPythia.framework in CopyFiles */, 4264B64F2240C8BE0096E6E4 /* VirgilCrypto.framework in CopyFiles */, - 4264B6502240C8BE0096E6E4 /* VirgilCryptoAPI.framework in CopyFiles */, 4264B6512240C8BE0096E6E4 /* VirgilSDK.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -216,7 +204,6 @@ 423F71B5223F98CB00E8CDA9 /* VSCFoundation.framework in CopyFiles */, 423F71BD223F98CB00E8CDA9 /* VSCPythia.framework in CopyFiles */, 424F67BC21EEA40200E70BAB /* VirgilCrypto.framework in CopyFiles */, - 424F67BD21EEA40200E70BAB /* VirgilCryptoAPI.framework in CopyFiles */, 424F67BF21EEA40200E70BAB /* VirgilSDK.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -233,7 +220,6 @@ 4264B6042240C78C0096E6E4 /* VSCFoundation.framework in CopyFiles */, 4264B6052240C78C0096E6E4 /* VSCPythia.framework in CopyFiles */, 424F67C221EEA40E00E70BAB /* VirgilCrypto.framework in CopyFiles */, - 424F67C321EEA40E00E70BAB /* VirgilCryptoAPI.framework in CopyFiles */, 424F67C521EEA40E00E70BAB /* VirgilSDK.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; @@ -268,22 +254,17 @@ 423F71A6223F985000E8CDA9 /* VSCFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VSCFoundation.framework; path = Carthage/Build/iOS/VSCFoundation.framework; sourceTree = ""; }; 4249A09621EEA03D0076851C /* VirgilSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilSDK.framework; path = Carthage/Build/iOS/VirgilSDK.framework; sourceTree = ""; }; 4249A09821EEA03E0076851C /* VirgilCrypto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCrypto.framework; path = Carthage/Build/iOS/VirgilCrypto.framework; sourceTree = ""; }; - 4249A09921EEA03E0076851C /* VirgilCryptoAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCryptoAPI.framework; path = Carthage/Build/iOS/VirgilCryptoAPI.framework; sourceTree = ""; }; - 4249A0A021EEA04D0076851C /* VirgilCryptoAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCryptoAPI.framework; path = Carthage/Build/Mac/VirgilCryptoAPI.framework; sourceTree = ""; }; 4249A0A321EEA04E0076851C /* VirgilSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilSDK.framework; path = Carthage/Build/Mac/VirgilSDK.framework; sourceTree = ""; }; 4249A0A421EEA04E0076851C /* VirgilCrypto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCrypto.framework; path = Carthage/Build/Mac/VirgilCrypto.framework; sourceTree = ""; }; - 4249A0AA21EEA05C0076851C /* VirgilCryptoAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCryptoAPI.framework; path = Carthage/Build/tvOS/VirgilCryptoAPI.framework; sourceTree = ""; }; 4249A0AB21EEA05C0076851C /* VirgilCrypto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCrypto.framework; path = Carthage/Build/tvOS/VirgilCrypto.framework; sourceTree = ""; }; 4249A0AD21EEA05C0076851C /* VirgilSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilSDK.framework; path = Carthage/Build/tvOS/VirgilSDK.framework; sourceTree = ""; }; 4249A0B421EEA0700076851C /* VirgilSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilSDK.framework; path = Carthage/Build/watchOS/VirgilSDK.framework; sourceTree = ""; }; 4249A0B521EEA0700076851C /* VirgilCrypto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCrypto.framework; path = Carthage/Build/watchOS/VirgilCrypto.framework; sourceTree = ""; }; - 4249A0B721EEA0700076851C /* VirgilCryptoAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VirgilCryptoAPI.framework; path = Carthage/Build/watchOS/VirgilCryptoAPI.framework; sourceTree = ""; }; 42792EB720A9A4B400C95A29 /* BrainKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrainKey.swift; sourceTree = ""; }; 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BrainKey+Obj-C.swift"; sourceTree = ""; }; 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrainKeyContext.swift; sourceTree = ""; }; 42792EBD20A9AC4900C95A29 /* BlindResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlindResult.swift; sourceTree = ""; }; 42792EBF20A9AD3500C95A29 /* PythiaCrypto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PythiaCrypto.swift; sourceTree = ""; }; - 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BrainKey+Operations.swift"; sourceTree = ""; }; 42792F8220AC6C4400C95A29 /* VSY001_BrainKeyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VSY001_BrainKeyTests.swift; sourceTree = ""; }; 42A76B6120AED95200561EA2 /* VirgilSDKPythia.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VirgilSDKPythia.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 42A76B6920AED95200561EA2 /* VirgilSDKPythia macOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "VirgilSDKPythia macOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -307,7 +288,6 @@ 423F7189223F981A00E8CDA9 /* VirgilCryptoFoundation.framework in Frameworks */, 423F718A223F981A00E8CDA9 /* VirgilCryptoPythia.framework in Frameworks */, 423F718B223F981A00E8CDA9 /* VSCFoundation.framework in Frameworks */, - 4249A0A521EEA04E0076851C /* VirgilCryptoAPI.framework in Frameworks */, 4249A0A821EEA04E0076851C /* VirgilSDK.framework in Frameworks */, 4249A0A921EEA04E0076851C /* VirgilCrypto.framework in Frameworks */, ); @@ -330,7 +310,6 @@ 423F7193223F982B00E8CDA9 /* VSCCommon.framework in Frameworks */, 423F7194223F982B00E8CDA9 /* VirgilCryptoPythia.framework in Frameworks */, 423F7195223F982B00E8CDA9 /* VirgilCryptoFoundation.framework in Frameworks */, - 4249A0AF21EEA05C0076851C /* VirgilCryptoAPI.framework in Frameworks */, 4249A0B021EEA05C0076851C /* VirgilCrypto.framework in Frameworks */, 4249A0B221EEA05C0076851C /* VirgilSDK.framework in Frameworks */, ); @@ -355,7 +334,6 @@ 423F71A1223F983C00E8CDA9 /* VirgilCryptoPythia.framework in Frameworks */, 4249A0B921EEA0700076851C /* VirgilSDK.framework in Frameworks */, 4249A0BA21EEA0700076851C /* VirgilCrypto.framework in Frameworks */, - 4249A0BC21EEA0700076851C /* VirgilCryptoAPI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,7 +348,6 @@ 423F71AB223F985000E8CDA9 /* VSCFoundation.framework in Frameworks */, 4249A09D21EEA03E0076851C /* VirgilCrypto.framework in Frameworks */, 4249A09B21EEA03E0076851C /* VirgilSDK.framework in Frameworks */, - 4249A09E21EEA03E0076851C /* VirgilCryptoAPI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -410,7 +387,6 @@ children = ( 42792EB720A9A4B400C95A29 /* BrainKey.swift */, 42792EB920A9A52C00C95A29 /* BrainKey+Obj-C.swift */, - 42792EC120A9AE1D00C95A29 /* BrainKey+Operations.swift */, 42792EBB20A9AAE200C95A29 /* BrainKeyContext.swift */, ); path = BrainKey; @@ -502,16 +478,12 @@ 423F7196223F983B00E8CDA9 /* VirgilCryptoFoundation.framework */, 423F7197223F983B00E8CDA9 /* VSCPythia.framework */, 4249A0B521EEA0700076851C /* VirgilCrypto.framework */, - 4249A0B721EEA0700076851C /* VirgilCryptoAPI.framework */, 4249A0B421EEA0700076851C /* VirgilSDK.framework */, 4249A0AB21EEA05C0076851C /* VirgilCrypto.framework */, - 4249A0AA21EEA05C0076851C /* VirgilCryptoAPI.framework */, 4249A0AD21EEA05C0076851C /* VirgilSDK.framework */, 4249A0A421EEA04E0076851C /* VirgilCrypto.framework */, - 4249A0A021EEA04D0076851C /* VirgilCryptoAPI.framework */, 4249A0A321EEA04E0076851C /* VirgilSDK.framework */, 4249A09821EEA03E0076851C /* VirgilCrypto.framework */, - 4249A09921EEA03E0076851C /* VirgilCryptoAPI.framework */, 4249A09621EEA03D0076851C /* VirgilSDK.framework */, ); name = Frameworks; @@ -823,7 +795,6 @@ 42A76BCF20AEDA1500561EA2 /* BlindResult.swift in Sources */, 42A76BD820AEDA1900561EA2 /* PythiaClient.swift in Sources */, 42A76BD020AEDA1500561EA2 /* PythiaCrypto.swift in Sources */, - 42A76BC420AEDA1100561EA2 /* BrainKey+Operations.swift in Sources */, 42A76BD720AEDA1900561EA2 /* PythiaClientProtocol.swift in Sources */, 42A76BC520AEDA1100561EA2 /* BrainKeyContext.swift in Sources */, 42A76BC220AEDA1100561EA2 /* BrainKey.swift in Sources */, @@ -849,7 +820,6 @@ 42A76BD220AEDA1500561EA2 /* BlindResult.swift in Sources */, 42A76BDB20AEDA1A00561EA2 /* PythiaClient.swift in Sources */, 42A76BD320AEDA1500561EA2 /* PythiaCrypto.swift in Sources */, - 42A76BC820AEDA1100561EA2 /* BrainKey+Operations.swift in Sources */, 42A76BDA20AEDA1A00561EA2 /* PythiaClientProtocol.swift in Sources */, 42A76BC920AEDA1100561EA2 /* BrainKeyContext.swift in Sources */, 42A76BC620AEDA1100561EA2 /* BrainKey.swift in Sources */, @@ -875,7 +845,6 @@ 42A76BD520AEDA1600561EA2 /* BlindResult.swift in Sources */, 42A76BDE20AEDA1A00561EA2 /* PythiaClient.swift in Sources */, 42A76BD620AEDA1600561EA2 /* PythiaCrypto.swift in Sources */, - 42A76BCC20AEDA1200561EA2 /* BrainKey+Operations.swift in Sources */, 42A76BDD20AEDA1A00561EA2 /* PythiaClientProtocol.swift in Sources */, 42A76BCD20AEDA1200561EA2 /* BrainKeyContext.swift in Sources */, 42A76BCA20AEDA1200561EA2 /* BrainKey.swift in Sources */, @@ -894,7 +863,6 @@ 42792EBE20A9AC4900C95A29 /* BlindResult.swift in Sources */, 420120F6207625F500632FD9 /* PythiaClientProtocol.swift in Sources */, 420120F7207625F500632FD9 /* PythiaClient.swift in Sources */, - 42792EC220A9AE1D00C95A29 /* BrainKey+Operations.swift in Sources */, 4201210B2077C1E800632FD9 /* PythiaCryptoProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/VirgilSDKPythia/Info.plist b/VirgilSDKPythia/Info.plist index 5319a57..19647a6 100644 --- a/VirgilSDKPythia/Info.plist +++ b/VirgilSDKPythia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.5.1 + 0.6.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass From 8d46fed1c01369d398fd79d64e6d57799f7d3c95 Mon Sep 17 00:00:00 2001 From: Eugen Pivovarov Date: Tue, 9 Jul 2019 13:58:32 +0300 Subject: [PATCH 2/5] Fixed tests. Re-encrypted TestConfig --- .travis.yml | 2 +- Cartfile.resolved | 2 +- Tests/VSY001_BrainKeyTests.swift | 8 ++++---- config.tar.enc | Bin 6672 -> 5136 bytes 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4ed5e7f..25de396 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ before_install: - set -o pipefail script: - - openssl aes-256-cbc -K $encrypted_ceba4cc4fb2f_key -iv $encrypted_ceba4cc4fb2f_iv -in config.tar.enc -out config.tar -d + - openssl aes-256-cbc -K $encrypted_0b555ac22efa_key -iv $encrypted_0b555ac22efa_iv -in config.tar.enc -out config.tar -d - tar xvf config.tar - | diff --git a/Cartfile.resolved b/Cartfile.resolved index 8e75c49..de7e9a5 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ github "VirgilSecurity/virgil-crypto-c" "v0.8.0" github "VirgilSecurity/virgil-crypto-x" "5.0.0" github "VirgilSecurity/virgil-cryptowrapper-x" "0.8.0" -github "VirgilSecurity/virgil-sdk-x" "e1e9d6c744ce2344f974e8998c71b8a069fc7830" +github "VirgilSecurity/virgil-sdk-x" "23b87f2a93e97d0559a6700b63ec772085079326" diff --git a/Tests/VSY001_BrainKeyTests.swift b/Tests/VSY001_BrainKeyTests.swift index 9ad3ca2..8df7fb7 100644 --- a/Tests/VSY001_BrainKeyTests.swift +++ b/Tests/VSY001_BrainKeyTests.swift @@ -55,13 +55,13 @@ class VSY001_BrainKeyTests: XCTestCase { let brainKeyContext = try! BrainKeyContext.init(client: client, pythiaCrypto: PythiaCrypto(crypto: crypto)) let brainKey = BrainKey(context: brainKeyContext) - let keyPair1 = try! brainKey.generateKeyPair(password: "some password").startSync().getResult() + let keyPair1 = try! brainKey.generateKeyPair(password: "some password").startSync().get() sleep(5) - let keyPair2 = try! brainKey.generateKeyPair(password: "some password").startSync().getResult() + let keyPair2 = try! brainKey.generateKeyPair(password: "some password").startSync().get() sleep(5) - let keyPair3 = try! brainKey.generateKeyPair(password: "another password").startSync().getResult() + let keyPair3 = try! brainKey.generateKeyPair(password: "another password").startSync().get() sleep(5) - let keyPair4 = try! brainKey.generateKeyPair(password: "some password", brainKeyId: "my password 1").startSync().getResult() + let keyPair4 = try! brainKey.generateKeyPair(password: "some password", brainKeyId: "my password 1").startSync().get() XCTAssert(keyPair1.publicKey.identifier == keyPair2.publicKey.identifier) XCTAssert(keyPair1.publicKey.identifier != keyPair3.publicKey.identifier) diff --git a/config.tar.enc b/config.tar.enc index 8963303c8ebe22eb086be447ddcb0a19204a5f6f..7b5097a0a09dc6a8d3a1564f51bb575100f95645 100644 GIT binary patch literal 5136 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 literal 6672 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 anR~Xhlik`6QS15TeF4nV-i?Yp From 88bf6c4f665eb27619d8e66e84c8fa20d1ae1587 Mon Sep 17 00:00:00 2001 From: Eugen Pivovarov Date: Tue, 9 Jul 2019 18:23:35 +0300 Subject: [PATCH 3/5] Fixed creds --- Cartfile.resolved | 6 +++--- Tests/TestConfig.swift | 1 + Tests/VSY001_BrainKeyTests.swift | 6 +++++- config.tar.enc | Bin 5136 -> 5648 bytes 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index de7e9a5..754d0b0 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ -github "VirgilSecurity/virgil-crypto-c" "v0.8.0" +github "VirgilSecurity/virgil-crypto-c" "v0.8.1" github "VirgilSecurity/virgil-crypto-x" "5.0.0" -github "VirgilSecurity/virgil-cryptowrapper-x" "0.8.0" -github "VirgilSecurity/virgil-sdk-x" "23b87f2a93e97d0559a6700b63ec772085079326" +github "VirgilSecurity/virgil-cryptowrapper-x" "0.8.1" +github "VirgilSecurity/virgil-sdk-x" "f5815c6468421a50961dbcebcec3213c1a89d909" diff --git a/Tests/TestConfig.swift b/Tests/TestConfig.swift index 8bf8361..6f9d654 100644 --- a/Tests/TestConfig.swift +++ b/Tests/TestConfig.swift @@ -38,6 +38,7 @@ import Foundation class TestConfig: Decodable { let ApiPrivateKey: String + let ApiKeyId: String let AppId: String let ServiceURL: String diff --git a/Tests/VSY001_BrainKeyTests.swift b/Tests/VSY001_BrainKeyTests.swift index 8df7fb7..9cabd03 100644 --- a/Tests/VSY001_BrainKeyTests.swift +++ b/Tests/VSY001_BrainKeyTests.swift @@ -46,7 +46,11 @@ class VSY001_BrainKeyTests: XCTestCase { let crypto = try! VirgilCrypto() let apiKey = try! crypto.importPrivateKey(from: Data(base64Encoded: self.config.ApiPrivateKey)!).privateKey - let generator = try! JwtGenerator(apiKey: apiKey, crypto: crypto, appId: self.config.AppId, ttl: 3600) + let generator = try! JwtGenerator(apiKey: apiKey, + apiPublicKeyIdentifier: self.config.ApiKeyId, + crypto: crypto, + appId: self.config.AppId, + ttl: 3600) let identity = UUID().uuidString let provider = GeneratorJwtProvider(jwtGenerator: generator, defaultIdentity: identity) diff --git a/config.tar.enc b/config.tar.enc index 7b5097a0a09dc6a8d3a1564f51bb575100f95645..4d6c9f8cf97110236d0e5dff3df49310f1c48b7c 100644 GIT binary patch literal 5648 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 From 6971ba78e26b24fd4b14336b9c219af95d89ffe1 Mon Sep 17 00:00:00 2001 From: Oleksandr Deundiak Date: Wed, 10 Jul 2019 12:55:15 +0300 Subject: [PATCH 4/5] Updated dependencies --- Cartfile | 2 +- Cartfile.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cartfile b/Cartfile index ae79a19..7e2b7cb 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "VirgilSecurity/virgil-sdk-x" "develop" \ No newline at end of file +github "VirgilSecurity/virgil-sdk-x" ~> 6.0 \ No newline at end of file diff --git a/Cartfile.resolved b/Cartfile.resolved index 754d0b0..640e8a1 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,4 @@ github "VirgilSecurity/virgil-crypto-c" "v0.8.1" github "VirgilSecurity/virgil-crypto-x" "5.0.0" github "VirgilSecurity/virgil-cryptowrapper-x" "0.8.1" -github "VirgilSecurity/virgil-sdk-x" "f5815c6468421a50961dbcebcec3213c1a89d909" +github "VirgilSecurity/virgil-sdk-x" "6.0.0" From e7771c704fc64ec52e2a6dcdff1a0828eb8d5b05 Mon Sep 17 00:00:00 2001 From: Eugen Pivovarov Date: Wed, 10 Jul 2019 13:40:19 +0300 Subject: [PATCH 5/5] Moved swift-version to podspec --- .swift-version | 1 - VirgilSDKPythia.podspec | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 .swift-version diff --git a/.swift-version b/.swift-version deleted file mode 100644 index 6e63660..0000000 --- a/.swift-version +++ /dev/null @@ -1 +0,0 @@ -5.0 \ No newline at end of file diff --git a/VirgilSDKPythia.podspec b/VirgilSDKPythia.podspec index 34439c9..825959f 100644 --- a/VirgilSDKPythia.podspec +++ b/VirgilSDKPythia.podspec @@ -1,6 +1,7 @@ Pod::Spec.new do |s| s.name = "VirgilSDKPythia" s.version = "0.6.0" + s.swift_version = "5.0" s.license = { :type => "BSD", :file => "LICENSE" } s.summary = "Virgil Pythia SDK for Apple devices and languages." s.homepage = "https://github.com/VirgilSecurity/virgil-pythia-x/"