- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想创建一个大小为 128 位的 TDES key ,因此我使用 keytool 通过以下命令生成 jceks。当我在 C:\Program Files (x86)\Java\jdk1.8.0_25\jre\bin
文件夹下运行相同的命令时,我可以看到执行成功并且创建了 jceks。但是,当将 keytool.exe 导出到另一个位置(例如桌面)时,我可以看到相同的命令失败并出现以下错误。
C:\Users\Charan\Desktop\KeyGen>keytool -genseckey -alias TDES -keyalg DESede -keysize 128 -storetype jceks -keystore TDES.jceks -storepass change -keypass change
keytool error: java.security.InvalidParameterException: Wrong keysize: must be equal to 112 or 168
C:\Users\Charan\Desktop\KeyGen>
C:\Users\Charan\Desktop\KeyGen>
如果我遗漏了什么,请告诉我。我的应用程序引用 keytool.exe 并生成具有如上所述所选参数的 jceks。
经过进一步研究,我发现它仅适用于 Java 1.8.0_25,但即使我在 1.8.0_60/bin 下运行在 1.8.0_25 上成功的相同命令,我也会收到以下错误...
这是 Java 1.8.0_60 下详细输出的日志
C:\Program Files (x86)\Java\jdk1.8.0_60\jre\bin>keytool -genseckey -alias TDES -keyalg DESede -keysize 128 -storetype jceks -keystore TDES.jceks -storepass changeit -keypass changeit -v
keytool error: java.security.InvalidParameterException: Wrong keysize: must be equal to 112 or 168
java.security.InvalidParameterException: Wrong keysize: must be equal to 112 or 168
at com.sun.crypto.provider.DESedeKeyGenerator.engineInit(DESedeKeyGenerator.java:94)
at javax.crypto.KeyGenerator.init(KeyGenerator.java:517)
at javax.crypto.KeyGenerator.init(KeyGenerator.java:494)
at sun.security.tools.keytool.Main.doGenSecretKey(Main.java:1528)
at sun.security.tools.keytool.Main.doCommands(Main.java:969)
at sun.security.tools.keytool.Main.run(Main.java:340)
at sun.security.tools.keytool.Main.main(Main.java:333)
这是 1.8.0_25 的成功日志
C:\Program Files (x86)\Java\jdk1.8.0_25\jre\bin>keytool -genseckey -alias TDES -keyalg DESede -keysize 128 -storetype jceks -keystore TDES.jceks -storepass changeit -keypass changeit -v
Generated 128-bit DESede secret key
[Storing TDES.jceks]
C:\Program Files (x86)\Java\jdk1.8.0_25\jre\bin>
最佳答案
这可能是因为当 keytool.exe
更改位置时,它将使用默认的 JRE,而不是保存它的位置。较旧的 Java 版本仅支持 192 位(168 位有效)的三个 key TDES (ABC) key ,而不支持 128 位(112 位有效)的两个 key TDES (ABA)。
请注意,如果您遵循 NIST 要求,您应该使用 168 个不相关位的 TDES key 。 112 位 DES 的安全裕度低于 84 位,因此不再被认为是安全的。
关于java - keytool -genseckey -alias TDES -keyalg DESede -keysize 128 在 jre/bin 文件夹中有效,但当 keytool.exe 位于其他位置时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32090643/
我正在使用keytool创建一个csr。我想知道选项-genkey和-genkeypair有什么区别。我的理解是-genkey仅创建私钥,而-genkeypair同时创建私钥和公钥。如果是这样,我如何
我正在尝试生成一个 keystore 。我已经为 keystore 设置了密码,但我试图不为 key 设置密码。 keytool -storepass "$password" -keystore ${
我无法使用 keytool (java 8) 更改 PKCS keystore 密码。当我尝试更改 key 密码时: keytool -keypasswd -keystore keystore.p12
我尝试从 Java bin 目录执行 keytool,但我收到警告 bash: keytool: command not found 的错误。 root@xxxxxx]# keytool -genke
当我执行这个命令时: keytool -list -keystore %JAVA_HOME%/jre /lib/security/cacerts 我收到了这个输出: ascom-ws, 27.05.2
试图为 android 构建版本。我跑了keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000
正在尝试将证书添加到 keystore ,以便我可以在基于 Java 的应用程序中使用它。这对我来说是一个新概念。 我有该站点的 .p7b 证书,我将一个 keytool 命令放在一起。我输入的时候提
我正在尝试通过 HTTPS 连接 Java Web API;但是,抛出异常: javax.net.ssl.SSLHandshakeException: sun.security.validator.V
批处理文件: REM Create a keystore cd C:\Users\chatt\ChessClockIFACE del debug.keystore echo %JAVA_HOME% D
我想创建一个大小为 128 位的 TDES key ,因此我使用 keytool 通过以下命令生成 jceks。当我在 C:\Program Files (x86)\Java\jdk1.8.0_25\
我尝试从命令行运行 keytool,但收到以下错误: 要使用“keytool”命令行工具,您需要安装 JDK 我安装了 Android Studio,所以我假设我在某个地方有 JDK。 我进入了/Li
是否可以使用keytool生成长期有效的CSR? 当我使用 keytool 命令生成 CSR 时,我总是得到的有效期只有 3 个月。 请告诉我是否有办法生成有效期更长的 CSR。 Valid from
我目前正在尝试firebase的新功能,它要求我提供“调试签名证书SHA-1”,我已经阅读了如何获取代码的文档,但我不知道在哪里可以找到“keytool” .顺便问一下,这段代码的功能是什么,如果我不
我正在尝试生成一个 keystore 文件来签署我的 React Native Android 应用程序并将其发布到 Play 商店。 我正在尝试按照本文档中的说明进行操作:https://faceb
我正在阅读 Facebook 开发人员的开发指南,地址为 here。 它说我必须使用 keytool 来导出我的应用程序的签名,例如: keytool -exportcert -alias andro
我试图在 Mac OS x 上提取 MD5 指纹并面临 2 个问题: 1) 我的 debug.keystore 在哪里 我在系统的任何地方都找不到 .android 文件,它应该在/Users/tug
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
在尝试导入证书时出现无法导入的错误,因为本例中的别名 (tomcat) 已经存在 $ keytool -import -v -alias tomcat -file tomcat.crt -keysto
在我看来,几乎没有任何好的工具可以帮助 webapp 部署者保护他们的环境。我觉得很多部署问题都是因为管理员没有得到适当的工具来忽略 TLS/SSL 的复杂性。我曾经有幸在 websphere 或 w
我正在尝试将 jks 证书转换为 bks 但显示下一个异常: 导入别名 myalias 条目时出现问题:java.security.KeyStoreException:java.io.IOExcept
我是一名优秀的程序员,十分优秀!