Java 目标pkcs12密钥库具有不同的storepass和keypass。请使用指定的-destkeypass重试

Java 目标pkcs12密钥库具有不同的storepass和keypass。请使用指定的-destkeypass重试,java,spring-boot,authentication,jwt,keystore,Java,Spring Boot,Authentication,Jwt,Keystore,我是新一代的关键人物。当我继续执行这些步骤时,我得到一个错误,如下所示 D:\My_Personal_Projects\springblog>keytool -importkeystore -srckeystore springblog.jks -destkeystore springblog.jks -deststoretype pkcs12" Enter source keystore password: Enter key password for <springblog>

我是新一代的关键人物。当我继续执行这些步骤时,我得到一个错误,如下所示

D:\My_Personal_Projects\springblog>keytool -importkeystore -srckeystore springblog.jks -destkeystore springblog.jks -deststoretype pkcs12"
Enter source keystore password:
Enter key password for <springblog>
keytool error: java.lang.Exception: The destination pkcs12 keystore has different storepass and keypass. Please retry with -destkeypass specified.
D:\My\u Personal\u Projects\springblog>keytool-importkeystore-srckeystore springblog.jks-destkeystore springblog.jks-deststoretype pkcs12”
输入源密钥库密码:
输入的密钥密码
keytool错误:java.lang.Exception:目标pkcs12密钥库具有不同的storepass和keypass。请在指定-destkeypass的情况下重试。
以下是我所经历的步骤

D:\My_Personal_Projects\springblogfrontend>cd springblogfrontend

D:\My_Personal_Projects\springblogfrontend\springblogfrontend>keytool -genkey -alias springblog -keyalg RSA --keystore springblog.jks 
-keysize 2048
Enter keystore password:  
Re-enter new password: 
What is your first and last name?
  [Unknown]:  Niroshan
What is the name of your organizational unit?
  [Unknown]:  springblog
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=Niroshan, OU=springblog, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
  [no]:  yes

Enter key password for <springblog>
        (RETURN if same as keystore password):
Re-enter new password:

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore springblog.jks -destkeystore springblog.jks -deststoretype pkcs12".

D:\My_Personal_Projects\springblogfrontend\springblogfrontend>keytool -importkeystore -srckeystore springblog.jks -destkeystore springblog.jks -deststoretype pkcs12
Enter source keystore password:
Enter key password for <springblog>
keytool error: java.lang.Exception: The destination pkcs12 keystore has different storepass and keypass. Please retry with -destkeypass specified.
D:\My\u Personal\u Projects\springblogfrontend>cd springblogfrontend
D:\My\u Personal\u Projects\springblogfrontend\springblogfrontend>keytool-genkey-alias springblog-keyalg RSA-keystore springblog.jks
-键值2048
输入密钥库密码:
重新输入新密码:
你的名字和姓氏是什么?
[未知]:尼罗山
您的组织单位名称是什么?
[未知]:springblog
你的组织名称是什么?
[未知]:
你所在的城市或地区叫什么名字?
[未知]:
你所在的州或省叫什么名字?
[未知]:
这个单位的两个字母的国家代码是什么?
[未知]:
CN=Niroshan,OU=springblog,O=Unknown,L=Unknown,ST=Unknown,C=Unknown正确吗?
[否]:是的
输入的密钥密码
(如果与密钥库密码相同,则返回):
重新输入新密码:
警告:
JKS密钥库使用专有格式。建议使用“keytool-importkeystore-srckeystore springblog.JKS-destkeystore springblog.JKS-destkeystore-springblog.JKS-deststoretype PKCS12”迁移到PKCS12,这是一种行业标准格式。
D:\My\u Personal\u Projects\springblogfrontend\springblogfrontend>keytool-importkeystore-srckeystore-springblog.jks-destkeystore-springblog.jks-deststoretype pkcs12
输入源密钥库密码:
输入的密钥密码
keytool错误:java.lang.Exception:目标pkcs12密钥库具有不同的storepass和keypass。请在指定-destkeypass的情况下重试。

出现此错误的原因是什么?非常感谢您的帮助

出现此错误是因为您的密钥库中有两个不同的密码。第一个是密钥库密码(或storepass),请看以下几行:

Enter keystore password:
Re-enter new password:
Enter key password for <springblog>
        (RETURN if same as keystore password):
Re-enter new password:
第二个是别名(或keypass)的密钥密码,keytool在密钥库生成结束时要求提供此密码,请看以下几行:

Enter keystore password:
Re-enter new password:
Enter key password for <springblog>
        (RETURN if same as keystore password):
Re-enter new password:
输入的密钥密码
(如果与密钥库密码相同,则返回):
重新输入新密码:
以下是解决keytool错误问题的两个选项:

  • 当keytool请求keypass时,只需按建议的返回键,然后
    keytool-importkeystore-srckeystore-springblog.jks-destkeystore-springblog.jks-deststoretype pkcs12
    将正常工作,不会出现任何错误
  • -destkeypass
    选项与您的keypass(别名密码)一起添加当您执行上述migrate/import命令时。在这种情况下,keytool会向您发出警告
    警告:PKCS12密钥存储不支持不同的存储和密钥密码。忽略用户指定的-destkeypass值。
    ,但导入将成功完成

  • 为什么要将PKCXS#12密钥库命名为
    *.jks
    ?不要这样做。@user207421:显然是因为keytool警告(在8usomething和9.0.1以上版本中)对说,虽然我同意这不是一个好主意。OP:wjhich Java您正在使用吗?默认情况下,仅AFAIK j8都会创建jks并发出警告,但在版本中,我有
    -importkeystore
    在源密码之前两次提示输入目标存储密码.我对这一点还很陌生。这是我的第一代密钥。我能知道这一代密钥用户207421 dave_thompson_085背后的想法吗?我还没有找到解决方案。