概述
VeChain芯片验证SDK包含了VeChain NFC芯片验证SDK,以及根据您的设置收集温度,湿度和加速度数据的VeChain Sensor SDk,它可以确保温度,湿度和加速度数据安全可靠并可以被验证。
首次使用
步骤1: 注册App
登陆ToolChain并注册您的应用。联系toolchainsupport@vechain.com以获得更多支持。
-
"iOS BundleID" - 该ID唯一标识您在设备上的应用。 您的应用程序捆绑包ID可以在Xcode项目中-常规-“捆绑包标识符”找到。
注册后,请记录Verify ID(红色圆圈)以进行SDK注册。
VeChainNFCSDK.registerSDK("Verify ID");
步骤2: 上传CSR文件
- 生成CSR文件: How to generate a csr file.
- 上传CSR文件:
步骤3: 下载证书
此“证书”稍后将用作SDK中的参数。
更多详细信息,请参见:附录A:常见问题#如何签署ChallengeID
步骤4: 在Xcode中打开示例应用程序并作为参考
开始
需求
1.SDK的最低平台版本是iOS 13
2.位置必须打开,否则无法读取数据
手工导入
Xcode
- 解压缩VeChainNFCSDK.zip,您可以看到如下列表:
- 在您的Xcode项目中导入VeChainNFCSDK.framework和Vendors
- 选择目标->构建阶段,单击“ +”并添加新的运行脚本阶段
Shell内容:
/usr/local/bin/carthage copy-frameworks
输入文件:
$(SRCROOT)/sample/VeChainNFCSDK/Vendors/Alamofire.framework $(SRCROOT)/sample/VeChainNFCSDK/Vendors/Moya.framework $(SRCROOT)/sample/VeChainNFCSDK/Vendors/Result.framework $(SRCROOT)/sample/VeChainNFCSDK/Vendors/CryptoSwift.framework
输出文件:
$(BUILTPRODUCTSDIR)/$(FRAMEWORKSFOLDERPATH)/Alamofire.framework $(BUILTPRODUCTSDIR)/$(FRAMEWORKSFOLDERPATH)/CryptoSwift.framework $(BUILTPRODUCTSDIR)/$(FRAMEWORKSFOLDERPATH)/Moya.framework $(BUILTPRODUCTSDIR)/$(FRAMEWORKSFOLDERPATH)/Result.framework
-
关闭项目的bitcode
-
请求NFC访问并配置iso-7816 AIDs
将iso-7816 AID配置添加到您的info.plist
<key>NFCReaderUsageDescription</key> <string>NFC tag to read NDEF messages into the application</string> <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key> <array> <string>D2760000850101</string> <string>D2760000850200</string> </array>
附录 A: 常见问题
1. 如何签署ChallengeID
您有两种方法来签署ChallengeID
参数
1. certString : 打开从ToolChain下载的证书(xxx.pem文件),在开始和结束行之间复制内容。
2. certKey : 打开终端并输入以下命令: openssl ec -noout -text -in yourkey.key
删除所有priv的冒号。有时,OpenSSL在私有部分的前面添加了一个空字节(0x00),您必须去除所有的前置零字节。
私钥必须为32个字节,并且不能以0x00开头。
cdab7b2f80d0114ab8a55463a84df26ead9b2c87ff9df2fbb7b8842c63479360
3. challengeId :
VeChain服务在回调SignAction#sign()中提供。
方法 1:
Sign ChallengeId local -从 示例应用程序下载Signlib并调用方法com.vechain.tools.signlib.CertUtils.getSignature(String certString,String certKey,String ChallengeId以获取签名。
package com.vechain.tools.signlib.cert;
public class CertUtils {
/**
* build signature
* @param certString
* @param certKey
* @param challengeId
* @return signature
*/
public static String getSignature(String certString, String certKey, String challengeId) {
return signature;
} k
}
方法 2:
从服务器上签名ChallengeId - 将您的证书和私钥保存在自己的服务器上,然后返回在服务器上签名的签名。
注意:即使您未能从服务器获取签名,也请调用此函数 SignNotifier.onSignResult(“”);
public class MySignAction implements SignAction {
@Override
public void sign(Context context, String challengeId, SignNotifier signNotifier) {
String certString = "Your certificate string";
String privateKeyString = "Your private key";
//More Detail about how to sign the challengeId and get signature, refers to Appendix A: FAQ - How to Sign ChallengeID
String signature = CertUtils.getSignInfo(certString, privateKeyString, challengeId);
signNotifier.onSignResult(signature, "");
}
}
2. 检查NFC的可用性
最低设备要求使用iPhone 7或iPhone 7 Plus,iOS 11以上版本提供NFC。
评论
0 条评论
请登录写评论。