FIDO UAF Android客户端

fidouafclient  github地址: https://github.com/eBay/UAF/tree/master/fidouafclient

FIDO UAF Client是可以在Android操作的应用程序。它是一个基于基于Gradle构建系统的项目,build.gradle的特点是运行21(5.0 Lolipop)而使用GSON, Commons Codec与以前的库相同,但使用SpongyCastle则不同。虽然前面使用过BouncyCastle,但android使用的是SpongyCastle,但据我所知,由于兼容性问题,android不能使用BouncyCastle。

/fidouafclient/build.gradle

apply plugin: 'com.android.application'android {    compileSdkVersion 21    buildToolsVersion "22.0.1"    defaultConfig {        applicationId "org.ebayopensource.fidouafclient"        minSdkVersion 21        targetSdkVersion 21    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'        }    }}dependencies {    compile 'com.android.support:support-v4:18.0.0'    compile 'com.google.code.gson:gson:2.3.1'    compile files('libs/commons-codec-1.10.jar')    compile files('libs/sc-light-jdk15on-1.47.0.2.jar')    compile files('libs/scprov-jdk15on-1.47.0.3.jar')}

包装的结构如下。驱动部分是org.ebayopensource.fidouafclient.util中的MainActivity。

从res/layout可以看出有5个布局。以下是每个子包的说明

以下是每个子包的说明。

“fido.uaf” 包类似于UAF Core包中的包,但有一些额外的客户端处理。它是移动端的核心软件包。

“client”包中,有Assertion构建器,Request处理程序等。在“client.op”包中,实际上有一个处理命令的类(Auth,Reg,Dereg)。
“msg”包中,除了UAF Core中的msg类之外,还实现了RP客户端消息类。
“tlv”包被标记为UAF Core,您可以在此包中看到以下内容,“msm”中的“asm”,“asm.obj”,“client”包

该应用程序不仅仅充当RP客户端,它实际上同时具有FIDO客户端,Authenticator和ASM角色。这意味着您的手机无需FIDO客户端,身份验证器或ASM即可运行。事实上,测试可以在没有内置FIDO客户端和验证器的情况下完成,如果你有内置的FIDO客户端和内置的FIDO客户端可供选择。(身份验证;验证方法)也同样如此。

为了便于理解,在三星GALAXY S6的情况下,FIDO客户端和身份验证器都内置在三星。这就是三星Fay。在这里,三星费用作为RP客户端。

“fidouafclient”包包含指向RP客户端外部部分的直接链接。
“curl”包是HTTPRequest和HTTPResponse的异步实现。
“op”包包含RP客户端的FIDO命令(Auth,Reg,Dereg)。
“util”包中包含提供各种设置(如服务器地址)和与Android系统相关的资源的类。
以下是每项活动的布局。

一个MainActivity。输入要注册的用户的名称,然后按Reg按钮。

一个FidoUAFActivity。按“同意”按钮执行特定命令(Auth,Reg,Dereg)。

一个AuthenticatedActivity。执行验证的部分。

一个RegisteredActivity。可以看到用户注册时可以执行特定命令。

设置布局。端点是URL。

 

此演示客户端最重要的功能是RP客户端,FIDO客户端和身份验证器是混合的。这似乎是因为它是为测试目的而制作的,但总的来说,一切都是分开的原则。还应注意,诸如证明证书之类的部分是硬编码的。

我们查看了安卓系统的FIDO RP Client作为参考,可以最小驱动版本为5.0的理由是,就像在这里可以确认的那样,就算没有指纹识别器,android也可以通过自主支援的方法进行本人确认,我对这一部分有点怀疑。原来本人确认过程是在Authenticator (Authenticator)进行的,但从目前的源程序来看,需要在RP客户端进行处理。这样就会脱离FIDO的规格,我不知道我是不是理解错了。

 

更多相关文章

  1. android 启动模式之分析
  2. Android(安卓)中的各种控件
  3. android通过USB的MTP模式下,禁止用户在根目录有任何操作(重命名 删
  4. Android(安卓)SSH BusyBox
  5. android xml 分析1--- AndroidManifest.xml
  6. RelativeLayout的布局学习(部分知识点)
  7. Android(安卓)Studio修改默认Activity继承AppCompatActivity
  8. Android(安卓)WakeLock
  9. RxAndroid入门-传智播客

随机推荐

  1. Android之Selector详解(背景选择器)
  2. Android四大组件之Activity
  3. 学习OpenGL ES for Android(四)
  4. SPB Shell 3D:打造最酷3D效果的Android界
  5. Android简明开发教程十九:线程 Bezier曲线
  6. Android面试题(一)
  7. Android(安卓)SDK Manager国内无法更新的
  8. conversion to dalvik format failed wit
  9. 使用GridView的auto_fit遇到的坑
  10. andr