AWS证书-无法识别的密钥库格式:空

时间:2018-10-16 14:03:44

标签: android amazon-web-services bouncycastle iot

我正在尝试从证书和私钥生成AWS IoT证书。首先,我创建PKCS12密钥库,然后将PKCS12密钥库转换为BKS(BouncyCastle)密钥库。在执行第二步时,出现错误:

keytool error: java.security.KeyStoreException: Unrecognized keystore format: null

奇怪的是:我第二次这样做,几个月前我以相同的方式进行了操作,然后又起作用了,所以我确定我的文件是正确的。我正在使用的命令是(此处仅出于可读性而添加新行):

"C:\Program Files\Java\jdk-10.0.2\bin\keytool" 
-importkeystore 
-srckeystore beurer_keystore.p12 
-srcstoretype pkcs12 
-srcstorepass password 
-destkeystore beurer_keystore.bks 
-deststoretype bks 
-deststorepass password 
--provider org.bouncycastle.jce.provider.BouncyCastleProvider 
--providerpath bcprov-jdk15on-160.jar

这次我得到不同的结果有什么改变?不同的Java版本?不同的键盘工具?

1 个答案:

答案 0 :(得分:1)

它似乎是错误12。我也遇到了macOS / Java HotSpot(TM)64位服务器VM(内部版本9.0.4 + 11,混合模式)的错误:

declare
  admin varchar2(4000);
  user1 varchar2(4000);

begin
  Admin := q'~
             SELECT *  INTO ADMIN FROM CI_PREFERENCE ;
             ~';    
  User1 :='~
             SELECT * FROM CI_PREFERENCE  WHERE EMAIL_ID = lower(:APP_USER);
           ~';
  if :G_ADMIN = 'A' then
    return admin;
  else
    return user1;
  end if;
end;

在Ubuntu 18.10上使用OpenJDK Runtime Environment(内部版本11.0.3 + 7-Ubuntu-1ubuntu218.10.1)时,我没有收到错误消息。

我可以通过简单列出BouncyCastle密钥库来重现虚假错误:

keytool error: java.security.KeyStoreException: Unrecognized keystore format: null
java.security.KeyStoreException: Unrecognized keystore format: null
        at java.base/java.security.KeyStore.getInstance(KeyStore.java:1815)
        at java.base/java.security.KeyStore.getInstance(KeyStore.java:1687)
        at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1308)
        at java.base/sun.security.tools.keytool.Main.run(Main.java:397)
        at java.base/sun.security.tools.keytool.Main.main(Main.java:390)