通过BouncyCastle阅读JKS

Kir*_*ill 1 java bouncycastle keystore

我有一个Java KeyStore(JKS),需要与BouncyCastle一起阅读。

我已BC在提供商列表顶部添加了提供商:

Security.insertProviderAt(new BouncyCastleProvider(), 1);
Run Code Online (Sandbox Code Playgroud)

如果我以这种方式创建KeyStore:

final KeyStore keystore = KeyStore.getInstance("JKS", "BC");
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

java.security.KeyStoreException:找不到JKS

如果我未指定提供程序,则将使用Sun提供程序创建KeyStore keystore.aliases()并将包含EmptyEnumeration

正如我在主题中看到的那样,BouncyCastle可以与JKS合作

如何通过BouncyCastle阅读JKS?

ped*_*ofb 5

使用BKS代替JKS

 KeyStore keystore = KeyStore.getInstance("BKS", "BC");
Run Code Online (Sandbox Code Playgroud)

请参见https://www.bouncycastle.org/specifications.html的6.4-密钥库

Bouncy Castle软件包具有密钥库的三个实现。第一个“ BKS”是密钥库,它将以与Sun“ JKS”密钥库相同的方式与密钥工具一起使用。

结果将与Sun提供程序相同。如果列表为空,请检查JKS是否为空,并正确阅读