У меня есть хранилище ключей JKS, хранящееся в базе данных сервера Microsoft SQL.Он сохраняется как varbinary и сохраняется в формате (например) 0x539A" - a very long varbinary. The data was loaded using
OPENROWSET (BULK 'location', SINGLE_BLOB).
Когда я делаю следующее в наборе результатов:
InputStream is = new ByteArrayInputStream(keys);
keyStore.load(is, ksPassword.toCharArray());
Iполучаю исключение:
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
at java.security.KeyStore.load(KeyStore.java:1445)
Я не уверен, как преобразовать поток байтов так, чтобы он выглядел примерно как `[B @ sdfsfs ', потому что так выглядит поток байтов для некоторых других ключей.У кого-нибудь есть предложения?