VirgilKeyknox 0.2.0

VirgilKeyknox 0.2.0

Sergey SeroshtanSanjoDeundiak 维护。



 
依赖
VirgilSDK~> 5.3
VirgilCryptoApiImpl~> 3.0
 

  • 作者:
  • Virgil Security

Virgil KeyKnox Objective-C/Swift SDK

Build Status CocoaPods Compatible Carthage compatible Platform GitHub license

介绍 | SDK 特性 | 安装和配置 SDK | 文档 | 支持

介绍

Virgil Security 提供了一个 SDK,允许您与 Virgil Keyknox 服务通信。Virgil Keyknox 服务允许用户将其敏感数据(如私钥)加密(端到端加密)以供在不同设备间使用和共享。

SDK 特性

  • 使用 Virgil Crypto 库
  • 使用 Virgil SDK
  • 将加密的敏感数据上传到 Virgil Keyknox 服务
  • 从 Virgil Keyknox 服务下载数据
  • 更新和同步数据

安装和配置SDK

安装

Virgil Keyknox SDK以一组框架的形式提供。这些框架通过Carthage和CocoaPods进行分发。在本指南中,您还会找到一个名为VirgilCrypto(Virgil Crypto库)的额外包,该包由SDK用于执行加密操作。

以下框架可用

  • iOS 9.0+
  • macOS 10.10+
  • tvOS 9.0+
  • watchOS 2.0+

COCOAPODS

CocoaPods是Cocoa项目的依赖项管理器。您可以使用以下命令安装它

$ gem install cocoapods

要使用CocoaPods将Virgil Keyknox集成到您的Xcode项目中,请在您的Podfile中指定它

target '<Your Target Name>' do
  use_frameworks!

  pod 'VirgilKeyknox', '~> 0.2.0'
end

然后,运行以下命令

$ pod install

Carthage

Carthage是一个去中心化的依赖项管理器,它构建您的依赖项并为您提供二进制框架。

您可以使用以下命令使用Homebrew安装Carthage

$ brew update
$ brew install carthage

要使用Carthage将Virgil Keyknox集成到您的Xcode项目中,请在其项目根目录中创建一个名为Cartfile的空文件并添加以下行到您的Cartfile

github "VirgilSecurity/keyknox-x" ~> 0.2.0

链接到预构建的二进制文件

要链接预构建框架到您的应用,请运行以下命令

$ carthage update

这将构建每个依赖项或从GitHub发行版下载预编译框架。

为iOS/tvOS/watchOS构建

在你的应用目标的“通用”设置选项卡中,“链接框架和库”部分,从项目文件夹中的Carthage/Build文件夹添加以下框架:

  • VirgilSDKKeyknox
  • VirgilSDK
  • VirgilCryptoAPI
  • VirgilCryptoApiImpl
  • VirgilCrypto
  • VSCCrypto

在你的应用目标的“构建阶段”设置选项卡中,点击“+”图标,选择“新运行脚本阶段”。创建一个运行脚本,指定你的shell(例如:/bin/sh),将以下内容添加到shell下面的脚本区域中:

/usr/local/bin/carthage copy-frameworks

并在“输入文件”下添加你想要使用的框架的路径,例如:

$(SRCROOT)/Carthage/Build/iOS/VirgilSDKKeyknox.framework
$(SRCROOT)/Carthage/Build/iOS/VirgilSDK.framework
$(SRCROOT)/Carthage/Build/iOS/VirgilCryptoAPI.framework
$(SRCROOT)/Carthage/Build/iOS/VirgilCryptoAPIImpl.framework
$(SRCROOT)/Carthage/Build/iOS/VirgilCrypto.framework
$(SRCROOT)/Carthage/Build/iOS/VSCCrypto.framework
为macOS构建

在你的应用目标的“通用”设置选项卡中,“已嵌入的二进制文件”部分,从磁盘上的Carthage/Build文件夹拖放以下框架:

  • VirgilSDKKeyknox
  • VirgilSDK
  • VirgilCryptoAPI
  • VirgilCryptoApiImpl
  • VirgilCrypto
  • VSCCrypto

此外,你还需要在macOS上复制调试符号以进行调试和崩溃报告。

在你的应用目标的“构建阶段”设置选项卡中,点击“+”图标并选择“新复制文件阶段”。点击“目标”下拉菜单,选择“产品目录”。对于每个框架,将相应的dSYM文件拖放到其中。

作为子项目集成

你可以仅使用carthage来获取正确的源,以进一步集成到你的项目中。运行以下命令:

$ carthage update --no-build

这将在项目文件夹中的Carthage/Checkouts文件夹中获取依赖项。然后,从Carthage/Checkouts文件夹中的相应文件夹拖放VirgilCrypto.xcodeproj、VirgilCryptoAPI.xcodeproj、VirgilSDK.xcodeproj和VirgilSDKKeyknox.xcodeproj到Xcode项目导航侧边栏。

接下来,在你的应用目标的“通用”设置选项卡中的“已嵌入的二进制文件”部分,从子项目中添加以下框架:

  • VirgilSDKKeyknox
  • VirgilSDK
  • VirgilCryptoAPI
  • VirgilCryptoApiImpl
  • VirgilCrypto
  • VSCCrypto

配置SDK

要开始使用Virgil Keyknox SDK,你需要初始化SyncKeyStorage类。这个类负责Keychain和Keyknox Cloud之间的同步。为了初始化SyncKeyStorage类,你需要以下值

  • accessTokenProvider
  • 应有权访问数据的所有设备/用户的public keys
  • 当前设备/用户的private key
  • 用户的识别(设备可以有不同的用户)
import VirgilSDK
import VirgilSDKKeyknox

// Setup Access Token provider to provide access token for Virgil services
// Check https://github.com/VirgilSecurity/virgil-sdk-x
let accessTokenProvider = ""

// Download public keys of users that should have access to data from Virgil Cards service
// Check https://github.com/VirgilSecurity/virgil-sdk-x
let publicKeys = []

// Load private key from Keychain
let privateKey = ""

let syncKeyStorage = SyncKeyStorage(identity: "Alice",
                                    accessTokenProvider: accessTokenProvider,
                                    publicKeys: publicKeys, privateKey: privateKey)

文档

Virgil Security 提供了一整套强大的 API,下方的文档可以帮助您今天就开始使用。

许可证

本库是在3-clause BSD 许可证下发布的。

支持

我们的开发者支持团队在此为您提供帮助。了解更多信息,请访问我们的帮助中心

您可以在Twitter上找到我们,或发送电子邮件[email protected]

此外,您还可以通过我们支持团队的Slack获取额外帮助。