Tag: security

SSLHandshakeException:证书中的主机名不匹配

我正在编写一个系统,必须将一个多部分发布到服务器(一个名为ARX的第三方程序,当前在开发期间在localhost上运行),该服务器具有自签名证书。 我试图找到它的证书,但只能找到三个不同的jks文件; server.jks , servertrust.jks和serverca.jks 。 我试图使用每个jks文件的System.setProperty(“javax.net.ssl.trustStore”, “Program Files\\\\jksfile”) 。 然而; 当我这样做时,我收到以下错误: 证书中的主机名不匹配:!= 。 我已经在stackoverflow上浏览了大量类似的问题,试图了解如何解决这个问题,但我无法解决我的问题。 有什么建议么? 非常感谢所有帮助。

tomcat中的弹出警告输出“无法创建会话”

我收到了消息,我不知道他们的意思。 一切似乎都运转正常,但我只是想保持安全。 有关这些警告可以做些什么: 2011-01-25/23:30:06.856/EST [http-80-exec-1] WARN Failed to create a session, as response has been committed. Unable to store SecurityContext. 2011-01-25/23:30:09.597/EST [http-80-exec-3] WARN Authentication event InteractiveAuthenticationSuccessEvent: email@domain.com; details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 170.9.26.16; SessionId: null 我正在运行spring 3和tomcat 6 spring security 3 UPDATE 我根据这个信息(从这里 )重新配置了以下bean: 创建会话 控制创建HTTP会话的热情。 如果未设置,则默认为“ifRequired”。 其他选项是“永远”和“从不”。 此属性的设置会影响HttpSessionContextIntegrationFilter的allowSessionCreation和forceEagerSessionCreation属性。 除非将此属性设置为“never”,否则allowSessionCreation将始终为true。 forceEagerSessionCreation为“false”,除非它设置为“always”。 因此,默认配置允许创建会话,但不强制它。 例外情况是,如果启用了并发会话控制,则​​forceEagerSessionCreation将设置为true,而不管此处的设置是什么。 在HttpSessionContextIntegrationFilter初始化期间,使用“never”会导致exception。

签名长度不正确:得到127但是期待128

java 1.8升级后我遇到了一个奇怪的问题。 我在我们的一个实用程序中使用jsch-0.1.54.jar从各个地方下载文件。 这个特殊的实用程序使用了将近4 – 5年没有任何问题(当时jsch-0.1.48)。 那时环境是java 1.6。 最近我们升级到java 1.8,结果我们升级了这个特定的实用程序。 现在我们遇到一个奇怪的问题,它偶尔会发生,大多数时候文件的下载都是完美的。 错误日志 INFO: SSH_MSG_KEXDH_INIT sent INFO: expecting SSH_MSG_KEXDH_REPLY INFO: Disconnecting from SRV2000 port 22 2016-10-28 08:42:18:0576 ERROR [main] net.AerisAbstractMethod – Failed to open connection com.jcraft.jsch.JSchException: Session.connect: java.security.SignatureException: Signature length not correct: got 127 but was expecting 128 at com.jcraft.jsch.Session.connect(Session.java:565) at com.jcraft.jsch.Session.connect(Session.java:183) at com.aeris.net.AerisSFTPMethod.connectToServer(AerisSFTPMethod.java:65) at com.aeris.net.AerisAbstractMethod.getListOfFiles(AerisAbstractMethod.java:143) […]

SecurityContextHolder.getContext()。getAuthentication()返回null

我想使用以下代码从spring Security手动绕过用户: User localeUser = new User(); UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(localeUser ,null, localeUser .getAuthorities()); SecurityContext securityContext = SecurityContextHolder.getContext(); securityContext.setAuthentication(auth); // Create a new session and add the security context. HttpSession session = request.getSession(true); session.setAttribute(“SPRING_SECURITY_CONTEXT”, securityContext); return “dummyLogin”; 虚拟登录页面(由磁贴处理)在内部调用同一个控制器中的不同请求映射,我试图获得这样的身份validation。 SecurityContextHolder.getContext().getAuthentication() 我在哪里无效! 请帮忙!

如何在Jboss7.1中配置简单身份validation

我正在研究纯jsps(scriptlets)编写的项目,而不使用任何框架。 jboss版本:jboss-as-7.1.0.Final 我现在正在尝试添加简单的身份validation。 因此,当用户尝试浏览jsps时,比如http://localhost/myContextPath/hello.jsp ,它需要先登录。 web.xml中 All Access /* DELETE PUT HEAD OPTIONS TRACE GET POST CONFIDENTIAL BASIC 的jboss-web.xml中 other standalone.xml([jboss_home] \ standalone \ configuration文件夹) users.properties(放在webapp classes文件夹下) user1=jboss7 roles.properties(放在webapp classes文件夹下) user1=Admin 经过所有这些修改后,我尝试浏览我的hello jsp。 我像往常一样工作。 没有身份validation,也没有例外。 我不确定我是否朝着正确的方向前进,或者安全约束是完全不同的事情。 请帮忙,谢谢!

sun.security.x509.CertAndKeyGen和sun.security.pkcs.PKCS10 – 在JDK8中丢失。 实施建议

在JDK8中,类sun.security.x509.CertAndKeyGen不再存在。 还缺少sun.security.pkcs.PKCS10 。 在JDK7中他们存在。 什么可以替代这些类方法?

使用java的X509序列号

我需要从X509证书中获取一些数据。 如果我在Windows中打开证书文件,它会以此格式显示其序列号。 ex. 39 65 70 eb d8 9f 28 20 4e c2 a0 6b 98 48 31 0d 我试图使用java获取相同的数据。 加载后,我使用 x509.getSerialNumber(); and result is : 76292708057987193002565060032465481997 那么这两者有什么区别? 我希望结果为上一个。

如何在Android应用关闭或失去焦点时调用方法?

因为我正在构建的应用程序将处理相当敏感的数据,我希望每次用户登录时都将SQLite数据库与服务器同步,并在每次应用程序失去焦点时删除emty数据库(因为用户移动到主屏幕或另一个应用)。 看到Activity生命周期 ,我的想法是通过清空每个Activity的onDestroy中的数据库来做到这一点。 为了测试所描述的生命周期,我只是覆盖所有生命周期方法(onCreate,onStart,onResume,onPause,onStop和onDestroy),在其中包含一些日志消息,并启动我的应用程序。 日志消息包含在我的SettingsActivity中。 当我进入我的应用程序并移动到设置时,它运行onCreate,onStart和onResume(如预期的那样)。 然后,当我单击一个设置并移动到下一个屏幕时,它将在onPause和onStop上运行(仍然按预期方式)。 要返回到设置屏幕,我单击后退按钮,它再次运行onStart和onResume(仍然按预期),当我现在再次单击后退按钮以返回到初始屏幕时,它(令我惊讶的是)运行onPause, onStop AND onDestroy。 所以我的问题; 为什么在应用程序未完成时会破坏活动? 更重要的是:当应用程序关闭或失去焦点时,如何运行我的CleanUp方法?

会话不在两台服务器之间共享

我的应用程序有很大的麻烦,web应用程序(jsp,java,servlet)落在两个服务器之间,因为服务器之间存在负载共享但不幸的是会话不在服务器之间维护现在我正在检查登录后如果会话在那里而不是确定否则我从url获取所有凭证(如果有人记住url然后大乱,可见编码的url)显然它根本不安全,所以我们如何在应用程序级别解决这个问题请指导我…….

java类信任所有用于将文件发送到https Web服务

我需要编写自己的类来告诉mule https连接到服务(wsdl)已经过validation。 我已经有mule子项目接近完成但最后一块丢失,在特定url发送文件。 我想要实现的目标: 建立连接并将xml发送到目标URL 读取也在xml中的响应 服务器使用自签名证书的安全性。 到目前为止我所做的是我从该链接获得证书并将其导入.jks。 然后我可能跟随所有“教程”如何使用https连接器连接到mule服务器,但在我的情况下没有任何工作。 我认为最好的事情是,如果有人可以帮助我创建java类来绕过密钥检查并返回true(已validation)。 就像是: URL url = new URL(“https://www.google.com”); HttpsURLConnection conn= (HttpsURLConnection) url.openConnection(); conn.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String arg0, SSLSession arg1) { return true; } }); 我怎么能在mule子那样做? 我希望它会是这样的 。 我正在使用当前的mule版本(3.5.0) 谢谢! 编辑: 我的配置: