Tag: 安全

java.lang.SecurityException:类“org.apache.log4j.Logger”与同一包中其他类的信任级别不匹配

对于java Web应用程序,使用JRE 1.6.0_22时出现此错误 java.lang.SecurityException:类“org.apache.log4j.Logger”与同一包中其他类的信任级别不匹配 但是,使用JRE 1.6.0_13时它可以正常工作。 我在谷歌搜索过,发现自更新19以来有一个安全增强function。 对于这个例外,它说, 在先前检测到混合组件并且决定允许它们共存之后,抛出以下两个SecurityExceptions。 exception表示在受信任组件和不受信任组件之间检测到组件名称冲突(资源名称或类包名称),并且拒绝加载资源或类的请求。 现在的问题是,我怎么能找到哪些类(可能是org.apache.log4j.Logger?)有碰撞以及它们在哪些包中? 我发现Oracle论坛中存在类似的问题

如何在Java Applet中保存一些配置信息?

如何在Java Applet中本地永久保存配置? 理想情况下,这应该与未签名的Applet一起使用。

从javareflection中隐藏我的安全密钥

以下类是我的加密安全密钥提供程序。 public class MySecretKey { private String key=”2sfdsdf7787fgrtdfg#$%@cj5″; … //Some Util methods goes on Here . } 首先,我不相信没有吸气剂就可以访问private数据,但是,我的天哪,我现在能够在控制台中看到密钥。 在其他地方使用reflection,我们可以看到如下代码: public static void main(String[] args) throws Exception { Stacker myClass = new Stacker(); Field key= myClass.getClass().getDeclaredField(“key”); field1.setAccessible(true); System.out.println(key.get(myClass)); } 如何从我的课外隐藏我的密钥:(甚至private关键字也无法帮助我反思。 请给我一些提示。 提前致谢。

Java:这是对BCrypt的好用吗?

我想知道我当前的BCrypt实现是否正确,我知道我没有使用BCrypt.checkpw()这可能导致一个问题,所以这是我在这里validation它的主要原因。 Hasher.java容器类: abstract public class Hasher { public static String hash(final char[] input) { String output = Hasher.hash(new String(input)); for (int i = 0; i < input.length; i++) { input[i] = 0; } return output; } public static String hash(final String input) { return BCrypt.hashpw(input, BCrypt.gensalt()); } } 这里有一个问题:出于安全原因, JPasswordField给了我一个char[] ,但BCrypt.hashpw()只接受字符串。 如何避免String在我的记忆中漂浮? 登录的客户端实现: String hashedPassword […]

可信任的1.5小程序可以执行系统命令吗?

如果是这样,这种能力是否有限制? 具体来说,我需要针对Mac OSX。

BouncyCastle找不到它提供的算法?

我正在玩BouncyCastle 1.46令我惊讶的是,下面的片段中的捕获块经常被绊倒。 Security.addProvider(new BouncyCastleProvider()); final Set found = new HashSet(); final Set missing = new HashSet(); final DefaultSignatureAlgorithmIdentifierFinder finder = new DefaultSignatureAlgorithmIdentifierFinder(); for (Service service : new BouncyCastleProvider().getServices()) { if (“Signature”.equals(service.getType())) { final String algorithm = service.getAlgorithm(); try { finder.find(algorithm); found.add(algorithm); } catch (IllegalArgumentException ex) { missing.add(algorithm); } } } System.out.println(“Found: ” + found); System.out.println(“Missing: […]

安全策略文件和jar

我有RMI应用程序,所以我需要使用策略文件。 我的政策文件很简单(conf.txt): grant { permission java.security.AllPermission; }; 从eclipse运行我的应用程序没有问题。 我已将-Djava.security.policy = conf.txt添加到VM参数中。 我想要做的是建立一个jar文件。 我把它作为来自eclipse的Runnable JAR文件,我在运行它时遇到了一些问题。 我尝试像这样运行它: java -Djava.security.policy=C:\Users\myuser\proj\conf.txt -jar C:\Users\myuser\proj\proj.jar 我得到与没有-Djava.security.policy选项相同的结果。 我的代码: System.setProperty(“java.security.policy”, “./conf.txt”); … if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); } 我怎样才能使这个工作? 如果我不必传递-Djava.security.policy就更好了: java -jar myprog.jar

用于防止滥用的Servletfilter? (DoS,垃圾邮件等)

我正在寻找一个servletfilter库,帮助我保护我们的Web服务免受未经授权的使用和DDoS。 我们为我们的Web服务提供了“授权客户”,因此理想情况下,filter可以帮助检测未经授权或行为不当的客户端,或者使用同一帐户检测多个人。 我们还需要一种方法来防止各种服务的DoS,因为我们有一个开放帐户策略 – 限制用户同时连接的数量等。 我们已经看过Tomcat LockOutFilter等等,但这些都是相当原始的,只能防止一种攻击。 当然,解决方案中有许多特定于应用程序的组件,但我想知道是否有人写了一个通用的解决方案作为起点。

使用Java保护REST API

我正在使用Jersey构建一个Java API。 我想使用API​​令牌安全方案来保护敏感的API调用,但我不知道从哪里开始。 是否有一个框架可以为我开箱即用? 或者我是否必须实施自己的安全计划?

我应该在Java Web应用程序中使用Security Manager吗?

是否足以使用运行应用程序服务器进程的用户的权限来保护Java Web应用程序,或者将SecurityManager与合适的策略文件一起使用是否合理? 我曾经做过前者,而不是后者,但有些客户希望我们也使用SecurityManager,它会明确地为每个第三方组件授予权限,以确保没有任何恶意代码潜伏在那里。 我已经看到一些Servlet容器,比如Resin ,建议不要使用SecurityManager来减慢速度。 有什么想法吗?