小编Ale*_*ITC的帖子

如何使用HTML和VeriFinger捕获指纹?

我正在开发一个需要捕获用户指纹的系统.我使用Java中的桌面应用程序完成了此任务.

我需要通过网页使用表单或对话框来完成,但我不知道该怎么做.我想避免applets.有没有办法在HTML中放置一个按钮并捕获指纹?

我正在使用verifinger sdk

更新 我给Verifinger团队发了一条消息,他们发给我了这个:

  • 试用SDK包包括所有功能,包括VeriFinger Extended.

在开始实施这些问题之前,应该提出并回答:

  • 您的解决方案是否能够与用户的计算机进行交互?

如果您希望您的浏览器应用程序使用客户端指纹扫描仪,并且您希望使用Neurotechnology组件 - 您应该编写一个applet(Java)或ActiveX组件,然后将其嵌入到C#asp.net应用程序中(抱歉,我们没有样本)为了那个原因).还有其他实现方法,但applet是一种通用方法.

  • 您的解决方案是否能够在客户端提取生物识别模板?

如果您希望您的应用程序在客户端PC上提取和/或进行匹配 - 您将不得不使用applet或ActiveX(为了运行在客户端pc上引用我们的库的代码).如果您不想这样做 - 您可以捕获图像(使用我们的组件,或者只是允许客户端选择文件),将其上传到后端(运行C#ASP.NET,Java EE甚至PHP) ),在那里处理,返回结果.

通常,Java Applet示例是一个很好的起点:您可以将它用于图像捕获和/或模板提取,并在服务器(即Web服务)上编写您自己的中间件(如注册到数据库或匹配),并从中引用它客户端浏览器应用

SDK确实包含Abis示例java applet.它可以使用Maven从命令提示符运行这个命令构建:"mvn clean install -Papplet"

从SDK\samples\biometrics\java目录(如果使用SDK 5.0)

来自SDK\samples \(如果使用SDK 4.5)

建议使用Maven 3.1.1版.

我希望它有用.

更新2

我做了一个applet捕获指纹并将它们传递给javascript函数.

html java fingerprint

9
推荐指数
1
解决办法
1万
查看次数

是否可以避免在Slick 3.x中使用tsql在每个类中声明StaticDatabaseConfig注释?

如果我想在Slick 3.x中使用编译时间查询,我需要使用tsql在每个类中声明一个StaticDatabaseConfig注释.

有没有办法避免这种情况并设置全局配置?

@StaticDatabaseConfig("file:src/main/resources/application.conf#tsql")
object PersistenceService {
  val database = Database.forConfig("database")
  database.run( tsql"SELECT NOW()" )
}
Run Code Online (Sandbox Code Playgroud)

t-sql scala slick-3.0

9
推荐指数
0
解决办法
224
查看次数

是否有Facelets的Spring Security 4.x标记库

我参与了使用Spring Security 4.x和使用Facelets的JSF 2.2的项目.我只是注意到这个版本中的spring安全性默认情况下启用了使用请求令牌来防止跨站点请求伪造,情况是你必须将标记<sec:csrfMetaTags>放在许多页面中(如果没有,春天拒绝请求),lib spring-faces是在2.4.1中没有Facelets(XHTML)的这些标签.

我试图找到一个实现,以便使用这些框架来工作我的项目,但我找不到任何,你知道任何改编吗?

在我的情况下,我只调整了我需要的部分(此时),如果没有公共改编,我很乐意将它放入一个开源项目并尝试调整所有库.

谢谢.

UPDATE

我创建了一篇博客文章解释我的解决方案:http: //halexv.blogspot.mx/2015/07/spring-security-4x-csrf-protection-for.html

spring facelets spring-security

7
推荐指数
1
解决办法
855
查看次数

数字签名VS。信息摘要

我有消息(m),我想通过不安全的方式发送数据后存储一些数据以验证其完整性。

我可以创建一个数字签名(DSA / RSA)。

  • S(m)= m的数字签名。

或者,我可以计算摘要(哈希)并将其加密。

  • H(m)= m的摘要
  • C(H(m))= H(m)的加密数据

无论如何,当接收方收到消息时,应验证其完整性。

哪种方法更安全S(m)或C(H(m))?

更新

假设爱丽丝想向鲍勃发送一条消息

使用数字签名:

爱丽丝的部分:

  • 使用她的私钥计算S(m)
  • 将m,S(m)和她的公钥发送给Bob

鲍勃的部分:

  • 鲍勃收到S(m),m和爱丽丝的公钥
  • 鲍勃使用m和爱丽丝的密钥验证S(m)。

使用摘要:

爱丽丝的部分:

  • 使用Bob的公钥计算C(H(m))
  • 将C(H(m))和m发送给Bob

鲍勃的部分:

  • 使用他的私钥(d)解密C(H(m))
  • 计算H(m)
  • 验证m(H(m)= d)的完整性

我看到了使用发布的第二种方法的软件,但是我认为第一种更安全,对吗?

更新2

总之,最好的方法是使用第一种方法通过安全方式与Bob共享Alice的公钥。

第二种方法根本不提供安全性。

感谢@Perseids

security hash cryptography digest digital-signature

4
推荐指数
1
解决办法
4781
查看次数

如何将 SSLEngine 限制为 TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 CipherSuite?

我有以下代码:

SSLContext sslContext = SSLContext.getInstance("TLS", BouncyCastleProvider.PROVIDER_NAME);
sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
SSLEngine sslEngine = sslContext.createSSLEngine();
String[] suites = { "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8" };
sslEngine.setEnabledCipherSuites(suites);
Run Code Online (Sandbox Code Playgroud)

谢谢。

编辑:我发现我应该使用BouncyCastleJsseProviderwhich 需要一个SecureRandom对象,如下所示:

sslContext.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());
Run Code Online (Sandbox Code Playgroud)

使用新的提供程序后,我在我的代码库中得到以下堆栈跟踪,据我所知,它应该像以前一样工作:

Aug 17, 2017 8:47:32 PM org.bouncycastle.jsse.provider.ProvTlsServer notifyAlertRaised
INFO: Server raised fatal(2) handshake_failure(40) alert: Failed to read record
org.bouncycastle.tls.TlsFatalAlert: handshake_failure(40)
    at org.bouncycastle.tls.AbstractTlsServer.getSelectedCipherSuite(Unknown Source)
    at org.bouncycastle.jsse.provider.ProvTlsServer.getSelectedCipherSuite(Unknown Source)
    at org.bouncycastle.tls.TlsServerProtocol.sendServerHelloMessage(Unknown Source)
    at org.bouncycastle.tls.TlsServerProtocol.handleHandshakeMessage(Unknown Source)
    at org.bouncycastle.tls.TlsProtocol.processHandshakeQueue(Unknown Source)
    at org.bouncycastle.tls.TlsProtocol.processRecord(Unknown Source)
    at org.bouncycastle.tls.RecordStream.readRecord(Unknown Source)
    at org.bouncycastle.tls.TlsProtocol.safeReadRecord(Unknown Source)
    at org.bouncycastle.tls.TlsProtocol.offerInput(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

java bouncycastle sslengine

1
推荐指数
1
解决办法
1572
查看次数