java - clientkeystore 访问被拒绝

标签 java keytool android-keystore

当我想使用 keytool 创建 keystore 时,收到拒绝访问错误消息。见下文

PS C:\Program Files\Java\jdk1.8.0_144\bin> .\keytool.exe -keystore clientkeystore -genkey -alias client
Enter keystore password:
Re-enter new password:
What is your first and last name?
  [Unknown]:  ...
What is the name of your organizational unit?
  [Unknown]:  ...
What is the name of your organization?
  [Unknown]:  ...
What is the name of your City or Locality?
  [Unknown]:  ...
What is the name of your State or Province?
  [Unknown]:  ...
What is the two-letter country code for this unit?
  [Unknown]:  ..
Is CN=..., OU=..., O=..., L=..., ST=..., C=.. correct?
  [no]:  yes

Enter key password for <client>
        (RETURN if same as keystore password):
Re-enter new password:
keytool error: java.io.FileNotFoundException: clientkeystore (Access is denied)
PS C:\Program Files\Java\jdk1.8.0_144\bin>

我该如何解决这个问题?

最佳答案

我能够在 JDK 1.8.0_171 上重现此问题,然后解决它。

基本上,您因写入文件而被拒绝访问:

C:\Program Files\Java\jdk1.8.0_144\bin\clientkeystore

您需要执行以下操作之一:

从主目录运行命令并指定 keystore 二进制文件的完整路径。

PS> cd $HOME;
PS> C:\Program Files\Java\jdk1.8.0_144\bin\keytool.exe -keystore clientkeystore -genkey -alias client

指定您具有写入权限的 clientkeystore 文件的路径。在此示例中,我使用您的主目录:

PS> cd C:\Program Files\Java\jdk1.8.0_144\bin
PS> .\keytool.exe -keystore $HOME\clientkeystore -genkey -alias client

(我推荐这样做)将 JDK bin 目录附加到您的 Path 环境变量,并指定您有权访问的目录:

PS> $env:Path += "C:\Program Files\Java\jdk1.8.0_144\bin"
PS> keytool.exe -keystore $HOME\clientkeystore -genkey -alias client

完成。

关于java - clientkeystore 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50520362/

相关文章:

java - 多对多单向关系的HQL查询

java - 如何在Spring数据elasticsearch中映射嵌套对象列表

Android,生成数字 Assets 链接 : keystore file for signing the app

android - 在 Android 中存储 AES key

java - 如何限制某些传感器每隔几秒发送一次数据?

java - 来自 byte[] 的 JLabel 图像

java - Android Studio V2 没有 JAVA 文件夹

java - 无法找到到所请求目标的有效证书路径 - 即使在导入证书后也会出错

java - 如何将 p7s 证书链导入 keystore ?

android - 我试图在命令提示符下生成一个 keystore 文件,但是当我输入密码时它不显示