FIDO框架分析1(FIDO UAF核心)

FIDO UAF核心

 

fido-uaf-core  github地址: https://github.com/eBay/UAF/tree/master/fido-uaf-core

FIDO UAF Core是服务器端的核心部分,它是用Java语言编写的,在其他部分也是如此,也许客户端是Android的原因,所以它这样做是为了方便重用和编写。依赖关系如下:GSON是Google发布的JSON库,Commons Codec是用来处理Base64编码的工具类包。BouncyCastle是一个加密算法库,我用它来处理JAVA不支持的函数和算法。

\fido-uaf-core\pom.xml

	
		
			junit
			junit
			4.12
		
		
			com.google.code.gson
			gson
			2.3.1
		
		
			commons-codec
			commons-codec
			1.9
		
		
			org.bouncycastle
			bcprov-jdk15on
			1.51
		
	

包的结构如下:由于它是一个核心库,包中没有实际的驱动部分。

FIDO框架分析1(FIDO UAF核心)_第1张图片

在src\test\java\org\ebayopensource\fido\uaf\ri\client\AppTest.java中,实现了一个小型服务器用于测试目的,每个代码都可以在测试项目中进行测试。

以下是每个子包的说明。

  • “crypto”包包含处理证书验证和各种加密算法的类。特别是为了验证证书,必须实现X509。这里,BouncyCastle用于补充Java包中缺少的功能。CertificateValidator和Notary接口声明验签和签名的方法。
  • “msg”包中包含用于编写和接收各种消息的实体类(Reg,Dereg,Auth)。
  • “ops”包中包含实际实现您需要在服务器端执行的命令的类。
  • “ri.client”软件包是我们实现的一个小型服务器,用于测试我们的库。实际上,如果查看代码,可以看到服务器地址和各种值都是硬编码的。
  • “storage”包包含用于管理验证器和用户(终端)的实体类和接口。您只需添加此接口的实现类并连接到数据库引擎。
  • “tlv”包是Tag Length Value的缩写,它包含处理和验证UAF消息中的标记的类。

下面是UAF核心库的类图

FIDO框架分析1(FIDO UAF核心)_第2张图片

 

到目前为止,我们已经查看了UAF核心库,我觉得它的设计考虑了每个FIDO服务器的功能和特性,“我认为,没有和数据库连接的部分,只提供接口的原因是各公司使用的DB服务器不同。

你可能感兴趣的:(java,fido,uaf)