Tag: 安全

六角形字符串上的SHA1哈希

我正在尝试使用Java安全库对hex字符串表示的数字进行哈希处理。 意思是,如果我有字符串“AABBCCDD”我想要哈希它不是因为这是一个ascii输入,它是0x65,0x65,0x66,0x66,0x67,0x67,0x68,0x68,但是作为四个字节 – 0xAA,0xBB, 0xCC,0xDD。 我设法用低值来实现它,例如“112233445566”(因为字节是用Java签名的)但是因为值很高而失败了。 有人知道如何实现这样的事情吗? 谢谢,Binyamin

如何保护客户端/服务器套接字通信

假设客户端和服务器应用程序在不同的计算机上运行 今天: // Server will receive the request and cast it as needed ProxyResponse message = (ProxyResponse) objStream.readObject(); // Update message with some content … // Sent it back to client ObjectOutputStream oos = new ObjectOutputStream(toClient); oos.writeObject(message); 我想进一步增强这一点,以确保发出的数据以某种方式受到保护。 您如何推荐我接近这个? 我正在寻找一个示例,说明客户端和服务器之间传递的数据如何在两端加密和解密并通过SSL发送。

Acegi / Spring安全性是否支持getUserPrincipal()?

我需要使用Acegi / Spring安全性连接现有应用程序。 为了开始,我正在寻找一个简单的信息:在这个上下文中,从我的应用程序调用的HttpServletRequest.getUserPrincipal()是否正确返回通过Spring获得的用户名(而不是使用特定于Spring的对象)? 我在Google上搜索了相互矛盾的信息。 我假设如果使用filter实现Acegi,它可以重载Servlet API的getUserPrincipal(),对吗? 附属问题:如果默认不是这种情况,有没有办法打开它? 谢谢, -Erik

如何防止客户经常使用Demo Java程序?

我已经制作了一个演示小程序,我希望将它传递给我的客户端,以便他可以运行它5次以检查其function。 它不是一个很大的软件,我可以实现一些串行密钥function并制作试用版软件。 我想要一个简单的解决方案,它可以限制程序的使用超过5次,或者可以在阈值限制后自行删除。 我想到了一个解决方案。 我通过相同的程序制作4个.txt文件并将它们存储在diff中。 客户端计算机上的位置和这些文件将存储程序运行的次数。 每次应用程序启动时,它都会检查所有这些文件,如果任何文件包含代表阈值限制的数字,则只需通过说已达到阈值限制即可退出。 还有其他更好的解决方案,但很简单,限制客户端不同时间使用它? 如果程序在其阈值限制后被删除会更好。

Java用户帐户管理解决方案

我目前正在开发一个Java Web应用程序,它依赖于权限机制来管理用户内容。 这当然意味着我们需要管理用户。 我们当前的用户管理系统是一个内部系统,用于管理有关RDBMS中的用户,组以及用户和权限的信息。 该系统有效,但维护起来很麻烦。 我想找到一种简化方法的方法。 考虑到用户管理是许多网络应用程序的核心function,管理用户的软件包似乎必须在互联网机器上常用。 您使用什么解决方案来管理用户? 似乎Spring Security软件包之类的东西可能会起作用,但是我想在锁定自己进入Spring Security之前先了解一下可用的内容。 谢谢。

在运行时更新Java安全策略?

是否有合法的方法在运行时添加/删除Java安全策略的权限?

使用Java生成带有BouncyCastle的X509Certificate

这就是我现在生成的数字证书。 现在我能够生成一个密码保护私钥的数字证书。 public static void main(String[] args) throws Exception { Security.addProvider(new BouncyCastleProvider()); testKeyStore(); } public static void testKeyStore() throws Exception { try { String storeName = “d://suresh_test.cer”; java.security.KeyPairGenerator keyPairGenerator = KeyPairGenerator .getInstance(“RSA”); keyPairGenerator.initialize(2048); KeyPair keyPair = keyPairGenerator.generateKeyPair(); PublicKey publicKey = keyPair.getPublic(); PrivateKey privateKey = keyPair.getPrivate(); X509Certificate trustCert = createCertificate(“CN=CA”, “CN=CA”, publicKey, privateKey); java.security.cert.Certificate[] outChain = […]

有人只知道我当前的JSESSIONID冒充/劫持我的会话(Tomcat 7 / Glassfish 3.2))吗?

我正在寻找一个简单的英语,“for dummies”解释JSESSIONID如何从安全方面工作 只知道我当前的JSESSIONID的人是否可以冒充/劫持我的会话? 在什么情况下,JSESSIONID将成为URL的一部分,并且这个OWASP#2安全风险 (场景#1)仍然与最新版本的Tomcat / Glassfish相关,如果是,那么“关闭/打开”以防止它?

有人可以解释一下Spring Security BasePermission.Create吗?

我正在开发一个涉及Spring Security ACL的项目,我遇到了创建权限BasePermission.CREATE 。 有人请解释这应该如何工作或它允许某人做什么? 我的理解是每个对象都有一个acl,每个acl都有很多ace,每个ace都有一个sid和一个权限。 如果必须创建一个对象来创建它,您如何授予对象创建它的权限?

SecurityManager用于云服务“沙箱”

所有, 我正在设计基于云的服务,该服务将提供执行客户提交的一些“插件”代码的选项。 为了完成这项工作,插件不能威胁系统完整性或具有访问其他客户端数据的能力。 理想情况下,我希望客户端可以提交一个简单的jar文件(包含符合某些预定义接口的类),然后在沙箱中运行。 应允许客户端代码: 在单个线程上占用所需的CPU时间 使用标准java类(例如java.lang.Math,java.util.Random等)执行任何计算 调用jar中捆绑的任何库(但必须遵守相同的限制) 但我特别需要禁止以下内容: 产生新线程(以便可以公平地管理服务器资源!) 对文件系统/ IO /网络的任何访问权限 对本机代码的任何访问 除了传递给客户端代码/由客户端代码创建的数据之外,对JVM中的数据的任何访问权限 对除.jar沙箱中的类以外的类的reflection的任何访问权限 除了标准Java库之外,还能够在沙箱外部的对象上调用方法 是否可以使用自定义ClassLoader / SecurityManager设置来实现此目的? 或者我是否需要开始寻找更复杂的解决方案(例如启动多个JVM?)