问题标签 [java-security-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hash - 如何检查两个散列字符串是否属于相同的明文密码
最近我遇到了一个与密码编码/解码以及在数据库中匹配和更新相同的问题,需要你们的帮助。问题如下 -
用户来到门户创建帐户,该帐户的数据存储在 db 中(例如将其命名为 db1),其中包含 account_name 和 hashed_password
现在我必须将此数据移动到另一个数据库(例如将其命名为 db2),其中可能已经存在相同的数据。
现在,在移动数据时,我必须确定存储在 db1 和 db2 中的散列密码是否用于相同的明文密码并决定执行 -
- 如果匹配,则更新同一行 b。
- 如果不匹配插入新行
如何匹配相同明文密码的编码值(即使它们是相同的,因为每次散列运行它都会创建新的散列字符串)
我正在使用内置的 java 安全 api 和 Scrypt/MD5/Legacy 算法。
aes - javax.crypto.BadPaddingException:错误:1e000065:密码函数:OPENSSL_internal:BAD_DECRYPT
我将 AES 解密密钥存储在 AndroidKeyStore 中以解密来自 SQLiteDB 的数据。不幸的是,有时我很少收到此错误(任何 android 设备和任何 API)。
我想知道这个错误到底是什么意思。
javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT
.
我在哪里可以找到这些清单error:*
?
java - 值不在环境文件中时的弹簧属性文件行为
我们正在运行spring boot version 1.5.10
我们的 gradle 文件有条目
我们在 application.properites 中禁用了它
management.security.enabled=false
我们application-production.properties
用来设置生产变量
当我们在生产环境中运行时,值不受影响
我们是否需要再次显式设置它application-production.properties
?
java - Java SecurityManager 自定义访问控制设计
我们在安装了安全管理器的 JVM 中运行不受信任的用户代码。该不受信任的代码应该能够使用 Jackson 库,并且这些库中的某些操作需要 accessDeclaredMembers 运行时权限。
我不想直接将该权限授予不受信任的代码。如果所有对 Jackson 的访问都是通过我们提供的包装类,我可以使用 doPrivileged 块......但我试图避免创建这样的包装。
是否有一个好的设计允许不受信任的代码(间接)执行需要特权的操作,当且仅当从杰克逊类调用该操作时?
谢谢!弗兰克
java - 启动期间的 Elastic Search AllPermission 安全管理器问题
我在 Windows 上使用非环回 IP(生产模式)运行弹性搜索。
为了运行 ES,我使用 ProcessBuilder 从 Java 应用程序中将它分叉出来(elasticsearch.bat)。
但是,它给了我以下错误:
当我以开发模式运行它时,它运行良好。我知道上述问题是作为引导检查的一部分提出的,但是如何纠正/避免这个问题。这对我来说是一个障碍。
这个问题出现在 6.3.1,6.3.0 似乎工作正常。
java - 尽管在策略中声明,SecurityManager 不允许读取文件
这是我的错误:
java.security.AccessControlException:访问被拒绝(“java.io.FilePermission”“C:\Temp\SettingsApp.policy”“读取”)
这是我的政策(为每个应用程序动态制定)
这就是我设置策略和使用安全管理器的方式:
jar 文件正在像这样加载并且工作正常:
首次运行时JPanel panel = (JPanel) app.getObject().newInstance();
,它工作正常并返回 JPanel。但是,如果我再次尝试运行它,我会收到错误消息。
这是我收到错误的地方:
然后导致读取文件,因为默认情况下,此文件包含它想要请求的逐行策略,然后将其重写为真正的策略:
java - Java 安全管理器(奇怪的行为)
我正在Java Security Manager
一个简单的 java 应用程序中进行测试。
我写属性"user.home"
, "user.info"
。
我读了属性"user.home"
,"user.info"
。
"user.home"
我设置了一个允许在,上读/写的策略文件"user.info"
。
我开始一个Security Manager
我应该仍然能够 read/write "user.home"
,"user.info"
因为策略文件提供了权限。
但我得到一个安全例外。
怎么了?
我的Java代码是:
我的政策文件:
xxx
java - 在获取默认 SSL 上下文之前以编程方式设置密钥库
我的印象是,一旦我在获得 SSLContext.getDefault() 时设置了系统属性,就应该返回带有这些设置属性的 SSLContext。在以下情况下应使用指定的keyStore。不幸的是,事实并非如此。它回退了 JVM 的默认密钥库。我错过了什么吗?
java - 是否可以只对 Runnable 进行沙箱化
是否可以在 Java 中对我的 Runnable 进行沙箱处理?给定一个 Runnable,我希望它内部的代码(以及它产生的任何线程)在沙箱中运行,只允许代码访问文件系统上的特定路径。一旦 Runnable 完成,线程应该回到它拥有的任何正常权限,而任何剩余的衍生线程仍将应用文件系统限制。
我想在运行时执行此操作。这意味着我想避免创建策略文件并将自定义参数传递给 JVM。到目前为止,我已经能够将沙盒应用于我的整个应用程序,但我还没有找到一种方法将其范围限定为仅在当前线程中运行的 Runnable ......
java - 如何防止 Java 代理中定义的 Lambda 表达式破坏它所附加的应用程序?
如果我在我的代理中声明此建议:
asjavac
将 lambda 表达式编译为私有方法(至少在 OpenJDK 11 中):
当代理附加到程序并执行程序时,会导致程序崩溃:
理想情况下,我不喜欢使用对象而不是 lambda 表达式来解决这个问题:
自定义许可安全策略似乎无法解决此错误:
有没有办法暂时禁用此类安全检查(例如“访问私有方法”)?