簡體   English   中英

Java服務器上的KeyStore錯誤:找不到BKS

[英]KeyStore error on java server: BKS not found

我在這一行收到錯誤:

final KeyStore keyStore = KeyStore.getInstance("BKS");

我得到的錯誤是:

java.security.KeyStoreException: BKS not found
    at java.security.KeyStore.getInstance(Unknown Source)
    at AppListen.<init>(AppListen.java:84)

我將bcprov-jdk16-146.jar添加到“Referenced Libraries”但仍然沒有運氣。

我的整體程序允許將Android手機用作使用SSL套接字連接的計算機的鼠標和鍵盤。 Android應用程序具有相同的行,沒有錯誤。

我究竟做錯了什么?


編輯:

也許這對大多數人來說都是常識,但不適合我,所以對於像我這樣的人來說,這就是我所做的。

我使用BKS的原因是因為這是android允許的唯一格式,但我不知道你只需要在android端,你可以在服務器上使用另一種格式,然后制作密鑰的副本並將其轉換為BKS在android上使用,省去了BouncyCastle。

我使用了一個JKS密鑰用於服務器,而不是將該密鑰的副本轉換為BKS,以便在android上使用名為portecle的程序。

此錯誤表示keytool嘗試實例化BKS密鑰庫,但沒有加密服務提供程序(CSP)能夠提供此類實現。 BKS密鑰庫類型是由BouncyCastle CSP實現的類型
所以你必須用Java安裝BouncyCastle提供程序。 安裝提供商
並研究這一點。

在項目中包含BouncyCastle庫並在代碼中添加提供程序

Security.addProvider(new BouncyCastleProvider());
KeyStore keyStore = KeyStore.getInstance("BKS");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM